Python 从其外键创建对象';s对象

Python 从其外键创建对象';s对象,python,django,Python,Django,我有两个目标:餐厅和评论,一个评论有外键餐厅(一对多关系)。在my views.py中,这两个类最让我担心:RestaurantDetailView(显示餐厅的详细视图)和ReviewCreate(创建评论) 我想创建一个按钮“Write a Review”我的餐厅详细信息页面,发送创建评论的请求,但该评论必须包含我发送请求的餐厅的外键。有没有关于我应该怎么做的建议 供参考: class RestaurantDetailView(generic.DetailView): model =

我有两个目标:餐厅和评论,一个评论有外键餐厅(一对多关系)。在my views.py中,这两个类最让我担心:RestaurantDetailView(显示餐厅的详细视图)和ReviewCreate(创建评论)

我想创建一个按钮“Write a Review”我的餐厅详细信息页面,发送创建评论的请求,但该评论必须包含我发送请求的餐厅的外键。有没有关于我应该怎么做的建议

供参考:

class RestaurantDetailView(generic.DetailView):
    model = Restaurant
    template_name = 'service/detail-restaurant.html'

class ReviewCreate(CreateView):
    model = Review
    fields = ['title', 'description']
    def form_valid(self, form):
        review = form.save(commit=False)
        review.restaurant = self.request.user
        return super(ReviewCreate, self).form_valid(form)

您可以创建一个包含餐厅id的url,类似这样的
create/(?P[0-9]+)/review/$
,其中
pk
是餐厅id。在那里,您呈现
review
创建表单,并在表单处理过程中提取餐厅的pk。这是一种方法,当然也有不同的方法。@ledao您可以查看本教程,了解如何在pk中使用URL