2017-04-16 14 views
-1

私は、ビューに表示されるように試してみましたが、プロファイルエラーが必要です。誰かが助けてくれることを願っています、ありがとう。 form_validメソッド内以下を追加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

してみてください。

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

ありがとうございました –

関連する問題