我正在创建在线食品订购网络应用程序。因此,在菜品订购单中,我想要一个Modelchoicefield以便列出具有所选菜品的餐厅对象。所以我想将碟形对象的pk传递给Modelform。
views.py
class DishOrderCreate(CreateView):
model = DishOrder
template_name = 'FoodChain/dishcreate.html'
form_class = OrderCreate
def get_context_data(self, **kwargs):
context = super(self).get_context_data(**kwargs)
context['obj'] =self.kwargs.get('pk')
return context
forms.py
class OrderCreate(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(self).__init__(*args, **kwargs)
ctx = kwargs.get('context', None)
if ctx is not None:
ob = ctx['obj']
restaurent = forms.ModelChoiceField()
class Meta:
model = DishOrder
fields = (
'quantity',
'restaurent',
)