2017-04-16 80 views
-1

我想自動分配配置文件實例以進行排序,我試圖按照視圖中所示的方式,但仍然會顯示錯誤,顯示配置文件需要。希望有人能幫助,謝謝。如何在django創建視圖中自動設置外鍵

models.py

class Profile(models.Model): 
    user = models.OneToOneField(settings.AUTH_USER_MODEL) 
    first_name = models.CharField(max_length=80,blank=True, null=True) 
    middle = models.CharField(max_length=80, blank=True, null=True) 
    last_name = models.CharField(max_length=80, blank=True, null=True) 


class Order(models.Model): 
     profile = models.ForeignKey(Profile) 
     qty_ordered = models.IntegerField(blank=True, null=True) 

views.py

class OrderCreate(CreateView): 
model = Order 
form_class = OrderForm 

success_url = reverse_lazy('home') 

def form_valid(self, form): 
    form.instance.order_id = self.kwargs.get('pk') 
    return super(OrderCreate, self).form_valid(form) 

order_form.html

<form method='POST' action='' enctype='multipart/form-data'>{% csrf_token %} 
    {{ form.qty_ordered| as_crispy_field }} 
<input type='submit' class='btn btn-primary' value='Save & Continue' /> 

回答

0

嘗試添加form_valid方法裏面以下。

def form_valid(self, form): 
    # ... 
    profile = Profile.objects.get(user=self.request.user) # or something similar 
    form.instance.profile = profile 
    # return the super as you do 
+0

謝謝,它正在工作 –

相關問題