2
我有一個使用我的模型來生成一個「創建」屏幕下面基於類的觀點:generic.edit.CreateView默認值分配,並插入到數據庫
class ProjectCreateView(generic.edit.CreateView):
model = Project
fields = ['project_title','project_description','created_date']
template_name = 'steps/project-detail.html'
success_url = reverse_lazy('index')
型號:
class Project(models.Model):
project_title = models.CharField(max_length=200)
project_description = models.CharField(max_length=200, default="")
created_date = models.DateTimeField('date created')
owner = models.ForeignKey(User)
def __str__(self):
return self.project_title
現在,問題是如果我不想讓'created_date'
成爲實際的形式。相反,我希望在按下「提交」按鈕或將記錄添加到數據庫中時自動填充它。我怎樣才能做到這一點?
最後,是否可以在默認情況下指定owner
字段?也就是說,我需要使用創建此記錄的用戶的信息來填充該字段。
有關使用['auto_now_add'](https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.DateField.auto_now_add),用於日期時間字段什麼代替? – AKS
@AKS是的,在模型字段中使用'auto_now_add'是一個很好的建議。在這種情況下,'form.instance.created_date = datetime.now()'行可以從代碼中移除。 – Alasdair
這看起來如何?如在中,如果我將auto_now_add添加到模型中,則會出現錯誤。 – MadPhysicist