2016-03-29 16 views
0

私はCreateViewを使用しています。フォームを保存中にモデルのフィールドに現在ログインしているユーザー名を保存するにはどうすればいいですか?

view.pyファイル

class AdvertismentCreate(LoginRequiredMixin,CreateView): 
    model = Advertisment 
    form_class = AdvertismentForm 

Advertisment_form.html

class Users(models.Model): 
    Id = models.CharField(max_length = 20,primary_key =True) 

class Advertisment(models.Model): 
    title = models.CharField(max_length = 50) 
    edition = models.CharField(max_length = 10) 
    year = models.IntegerField() 
    description = models.TextField(max_length = 2000) 
    price = models.IntegerField() 
    name = models.CharField(max_length = 20) 
    contact = models.IntegerField() 
    User_ID = models.ForeignKey(Users) 
    def __str__(self): 
     return self.title 
    def get_absolute_url(self): 
     return reverse('advertisments_detail',kwargs={'pk':self.pk}) 
+0

:あなたはあなたのビューでのような

何かを、それを設定することができるはずですか? – v1k45

答えて

0

ファイルModel.py

{% extends 'app/layout.html' %} 
{%load crispy_forms_tags %} 

{% block content %} 
    <form method="post"> 
     {% csrf_token %} 
     {% crispy form %}  

    </form>  

{% endblock %} 

を提出あなたは `AdvertisementForm`を表示することができます

if form.is_valid(): 
    form.save(commit=false) 
    form.cleaned_data['user_id'] = request.user.id 
    form.save() 
関連する問題