【发布时间】:2019-12-19 06:25:16
【问题描述】:
我想将其他模型的 pk 从 URL 传递到我的 CreateView 表单。怎么做?你可以帮帮我吗?当我传递特定的 id 时,它可以工作,但我想从 url 自动获取 pk。
我的views.py:
class ScenarioDetailView(LoginRequiredMixin, DetailView):
model = Scenario
class CommentCreateView(LoginRequiredMixin, CreateView):
model = Comment
fields = [
'commentText'
]
def form_valid(self, form):
form.instance.commentAuthor = self.request.user
form.instance.commentDate = datetime.now()
form.instance.commentScenario = Scenario.objects.get(pk=1) #there is my problem
return super().form_valid(form)
我的url.py:
path('scenario/<int:pk>/', ScenarioDetailView.as_view(), name='scenario-detail'),
也是我的模特:
class Comment(models.Model):
commentText = models.CharField(max_length=256)
commentScenario = models.ForeignKey(Scenario, on_delete=models.CASCADE)
commentAuthor = models.ForeignKey(User, on_delete=models.CASCADE)
commentDate = models.DateTimeField(default=timezone.now)
有什么建议吗?
【问题讨论】:
标签: python django django-forms django-views