0
私の最初の問題は、ストーリーを保存すると、story.authorはrequest.userに関連付けられません。story_author nameをrequest.userに関連付けるにはどうすればよいですか?
それで別の問題が発生しました。ユーザリストからstory_authorを追加してから、ストーリーの作者を手動で選択する必要があります。必要に応じて、次のラインに沿って適切なインスタンスを作成するための
models.py
class StoryAuthor(models.Model):
"""
Model representing a author.
"""
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
def get_absolute_url(self):
"""
Returns the url to access a particular story_author instance.
"""
return reverse('stories_by_author', args=[str(self.id)])
def __str__(self):
"""
String for representing the Model object.
"""
return self.user.username
class Story(models.Model):
author = models.ForeignKey(StoryAuthor,related_name='stories',null=True)
sb_thing = models.CharField(max_length=30,null=True)
sb_story = models.CharField(max_length=30,null=True)
sb_name = models.CharField(max_length=30,null=True)
views.py
def story_new(request):
if request.method == "POST":
form = StoryForm(request.POST)
#form.StoryAuthor = request.user
if form.is_valid():
story = form.save(commit=False)
StoryAuthor = request.user
story.published_date = timezone.now()
story.save()
return redirect('story_detail', pk=story.pk)
else:
form = StoryForm()
return render(request, 'story/story_create.html', {'form': form})
実際に 'StoryAuthor'モデルのポイントは何ですか? 'Story.author'を' User'への外部キーにするのはなぜですか? –