我在下面定义了模型和获取
错误: You are trying to add a non-nullable field 'user' to videodata without a default; we can't do that
models.py
class User(Model):
userID = models.IntegerField()
userName = models.CharField(max_length=40)
email = models.EmailField()
class Meta:
ordering = ['userName']
verbose_name = 'User MetaData'
verbose_name_plural = 'Users MetaData'
def __unicode__(self):
return str(self.userName)
class VideoData(Model):
video = models.CharField(max_length=40)
time = models.IntegerField()
user = models.ForeignKey(User, related_name='User')
class Meta:
verbose_name = 'User_Video MetaData'
Run Code Online (Sandbox Code Playgroud)
我做错了哪里????
wob*_*col 23
如错误所示,VideoData上的用户字段不允许空值,因此您需要为其提供默认用户或允许空值.最简单的方法是允许空值.
user = models.ForeignKey(User, related_name='User', null=True)
Run Code Online (Sandbox Code Playgroud)
或者有一个默认用户
user = models.ForeignKey(User, related_name='User', default=<have your default user id here>)
Run Code Online (Sandbox Code Playgroud)
bta*_*aek 14
我的OneToOneField遇到了同样的问题.而且,我所做的是删除所有迁移文件(migrations位于您的应用程序下的目录下),并运行:
python manage.py makemigrations
Run Code Online (Sandbox Code Playgroud)
和
python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但它在我的情况下起作用.尝试上面写的内容不会对你造成伤害.
祝好运!
| 归档时间: |
|
| 查看次数: |
27633 次 |
| 最近记录: |