【发布时间】:2018-02-21 03:13:26
【问题描述】:
在我的应用中,用户可以通过命名来创建项目。
这是我的模型:
class Project(models.Model):
name = models.CharField(max_length=250)
team_id = models.ForeignKey(Team, blank=True, null=True)
project_hr_admin = models.ForeignKey(MyUser, blank=True, null=True)
def get_absolute_url(self):
return reverse('website:ProjectDetails', kwargs = {'pk' : self.pk})
def __str__(self):
return self.name
这是我的看法:
class ProjectCreate(CreateView):
model = Project
fields = ['name']
template_name = 'project_form.html'
当用户使用自己的ID创建项目project_hr_admin = models.ForeignKey(MyUser, blank=True, null=True) 并将其保存在数据库中时如何设置??
谢谢你
【问题讨论】:
-
使用自定义
save方法 -
更好,通过覆盖视图上的
form_valid,这在editing views documentation 中有专门介绍。 -
谢谢丹尼尔它完美地工作..如果你能解释我这行 super(AuthorCreate, self).form_valid(form), 或其他文档好吗?
标签: django django-models django-views