我正在通過一些教程學習django,目前在effective-django教程中擁有所有權。不幸的是,這些教程是爲舊版本的django編寫的,所以有些東西稍有不同。django:不可空字段的默認值
我在models.py添加一個「所有者」字段時,我的模型跟遇到了問題:
from django.db import models
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
class Contact(models.Model):
"""
Interface for contact class
"""
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
email = models.EmailField()
owner = models.ForeignKey(User)
def __str__(self):
return ' '.join([self.first_name, self.last_name])
def get_absolute_url(self):
return reverse('contacts-view', kwargs={'pk': self.id})
當試圖運行「makemigrations」,我得到警告:
您嘗試添加不可爲空場「所有者」沒有默認聯繫:不能這樣做
這使得現有數據庫的意義,所以我嘗試沖洗ŧ他數據庫。但是,問題依然存在。現場所有者的默認值是什麼?我也嘗試讓字段爲空,但是這給了我字段所有者不能爲空的錯誤。
添加這確實解決了這個問題,這確實對後來添加的聯繫人是否有影響? – nluigi
不,新添加的聯繫人不會有該字段的任何默認值。此值將僅設置爲遷移時數據庫中存在的記錄。 – catavaran