【发布时间】:2021-12-11 13:31:02
【问题描述】:
我正在使用 Django 的 CreateView 来填写表格,并且我希望自动填写一些字段,并寻找我如何做到这一点的想法。我想自动填写的字段是公司、招聘人员和日期
这就是视图文件的样子:
class CreateNewJobForm(CreateView):
model = Job
fields = (
'title', 'company', 'recruiter', 'job_type', 'work_from', 'description', 'city', 'address', 'title_keywords',
'date_created')
template_name = 'create_new_job_form.html'
success_url = '/job_created_successfully'
def form_valid(self, form):
form.instance.recruiter = self.get_name()
return super(CreateNewJobForm, self).form_valid(form)
这就是模型文件的样子:
class Recruiter(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, primary_key=True)
name = models.CharField(max_length=255)
company = models.ForeignKey(Company, on_delete=models.RESTRICT, related_name='recruiters')
email = models.EmailField(max_length=255)
phone_number = models.CharField(max_length=15, blank=True)
【问题讨论】:
-
您能分享您的模型、视图和您自动要填写的字段吗?其中一些是由模型中的
default=...设置的吗? -
是的,我刚刚分享了我的代码,基本上我想自动填写的字段是招聘人员、公司和日期
-
我假设
user是登录用户。但是如何确定公司? URL是否包含例如公司的主键? -
是的,用户是登录用户。公司是招聘人员拥有的外键字段。
标签: django django-forms