【问题标题】:Integrity error in DjangoDjango中的完整性错误
【发布时间】:2016-04-16 20:20:27
【问题描述】:

当我使用 POST 在数据库中创建新字段时,出现如下错误,

IntegrityError at /api/signup/wallet/
SignUp_wallet_table.bank_ac_num_id may not be NULL
Exception Type: IntegrityError
Exception Value:    
SignUp_wallet_table.bank_ac_num_id may not be NULL

我还在这里提交了我的 models.py 文件

#models.py

from __future__ import unicode_literals
from django.db import models
class bank_table(models.Model):
    bank_ac_num=models.IntegerField(primary_key=True,unique=True)
    bank_ifci_code=models.CharField(max_length=30)
    user_status=models.IntegerField(max_length=1,default=1)
class wallet_table(models.Model):
    mob_num=models.IntegerField(primary_key=True,max_length=10,unique=True)
    bank_ac_num=models.ForeignKey(bank_table,null=True)    
    wallet_amnt=models.IntegerField(default=0)
class user_table(models.Model):
    user_id=models.IntegerField(primary_key=True,unique=True)
    user_name=models.CharField(max_length=30)
    mob_num=models.ForeignKey(wallet_table,null=True)

整个项目文件可用here

提前致谢。

【问题讨论】:

    标签: python django-models django-rest-framework


    【解决方案1】:

    您似乎在运行manage.py migrate 后添加了null=True。您需要修改数据库架构以允许该列中有空值。尝试再次运行:

    python manage.py makemigrations
    python manage.py migrate
    

    【讨论】:

    • @JPG,你可以尝试设置bank_ac_num=models.ForeignKey(bank_table, blank=True, null=True)。然后再次运行迁移。
    猜你喜欢
    • 2013-03-18
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多