Django.db.utils.IntegrityError: NOT NULL constraint failed: app_users.key_value_id
Здесь у меня есть две модели Keys и Users, я создаю POST API, поэтому я столкнулся с этой ошибкой
UserModel.py
class Users(AbstractBaseUser):
vendor_name = models.ForeignKey(Vendor, on_delete=models.CASCADE, default=None)
key_value = models.ForeignKey(KeyTable, on_delete=models.CASCADE, default=None, null=True)
username = models.CharField(max_length=100, verbose_name="username", unique=True)
password = models.CharField(max_length=100)
hardware_id = models.CharField(max_length=150, null=True)
created_by = models.DateField(verbose_name="created_by", auto_now_add=True)
USERNAME_FIELD = "username"
REQUIRED_FIELDS = ['password', 'hardware_id']
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_role_vendor = models.BooleanField(default=False)
is_role_customer = models.BooleanField(default=True)
def __str__(self):
return self.username
objects = UserManager()
KeyModel.py, где хранятся ключи
class KeyTable(models.Model):
key_id = models.IntegerField(unique=True, auto_created=True)
key_value = models.CharField(max_length=100)
issue_date = models.DateField(max_length=100)
expiry_date = models.DateField()
status = models.CharField(max_length=50)
license_tenure = models.IntegerField()
def __str__(self):
return self.key_value
KeySerializer
class KeySerializer(serializers.ModelSerializer):
class Meta:
model: Keys
fields = ['key_id', 'key_value', 'issue_date', 'expiry_date', 'status', 'license_tenure']
Встречи с ошибками:
django.db.utils.IntegrityError: NOT NULL constraint failed: app_users.key_value_id
Помогите мне решить эту ошибку, я буду благодарен, спасибо
Мукул, вы можете установить null=True и blank=True в поле модели, которое вызывает ошибку. или вы можете удалить приложение и создать его снова с тем же кодом, этот трюк также может сработать.
Но если вы не нашли решение, то вы можете найти несколько решений здесь.