2016-03-29 21 views
0

CreateView kullanıyorum.Bir form kaydedilirken, şu anda oturum açmış kullanıcı kullanıcı adını modelin alanında nasıl kaydederim?

view.py dosyası

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

Advertisment_form.html

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

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

    </form>  

{% endblock %} 

Model.py dosyasını dosya

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

Eğer 'AdvertisementForm' gösterebilir: Eğer görünümünde gibi

şey ayarlamak mümkün olmalıdır? – v1k45

cevap

0

if form.is_valid(): 
    form.save(commit=false) 
    form.cleaned_data['user_id'] = request.user.id 
    form.save() 
İlgili konular