[英]How to save currently logged in user username in model's field while saving a form?
I am using CreateView. 我正在使用CreateView。
view.py file view.py文件
class AdvertismentCreate(LoginRequiredMixin,CreateView):
model = Advertisment
form_class = AdvertismentForm
Advertisment_form.html file Advertisment_form.html文件
{% extends 'app/layout.html' %}
{%load crispy_forms_tags %}
{% block content %}
<form method="post">
{% csrf_token %}
{% crispy form %}
</form>
{% endblock %}
Model.py file Model.py文件
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})
You should be able to set it in your view 您应该可以在自己的视图中进行设置
something like: 就像是:
if form.is_valid():
form.save(commit=false)
form.cleaned_data['user_id'] = request.user.id
form.save()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.