Не выполнено ограничение Null - null = True уже установлено - PullRequest
0 голосов
/ 03 мая 2018

Я изменяю свою модель регистра, так что есть внешний ключ, ссылающийся на местоположение. Чего я хочу добиться, так это иметь отношения, при которых модель Register может иметь 0 для многих местоположений.

Первоначально я установил множество полей, которое, как я понял, было ошибкой, так как оно дает каждому Регистру все существующие местоположения. Я просто хочу подмножество для каждого регистра.

Моя модель теперь выглядит так:

class Register(AbstractBaseUser, models.Model):
    username = models.CharField(max_length=20,default='',blank=True)
    password = models.CharField(max_length=80,default='',blank=True)
    email = models.CharField(max_length=255,default='',blank=True)
    #Added 2nd May
    #locations = models.ManyToManyField(Location)
    #3rd May change to foreign key
    locations = models.ForeignKey(Location,on_delete=models.CASCADE, blank=True, null=True, default='')

    USERNAME_FIELD = 'username'

Ссылка на модель:

class Location(models.Model):
    locationname = models.CharField(max_length=80,default='',blank=True)
    address = models.ForeignKey(Address, on_delete=models.CASCADE)
    geolocation = models.ForeignKey(GeoLocation, on_delete=models.CASCADE, default='')

Когда я пытаюсь мигрировать, я получаю сообщение об ошибке ниже. Я запустил makemigrations, и если я запустил его снова, он утверждает, что изменений нет.

«Сбой ограничения NOT NULL: register_register.locations_id»

Я искал другие сообщения, и он предложил добавить аргумент null = True, который я добавил, но я все еще получаю эту ошибку. Я не могу найти сообщения, где это было сделано, и все еще выдает эту ошибку.

1 Ответ

0 голосов
/ 04 мая 2018

Очистка данных из базы данных с использованием manage.py flush позволила мне перенастроить проекты.

Я понял, что допустил ошибку в отношениях и у меня был Неправильный ключ на неправильном столе, он должен был быть на месте, так что это было основной проблемой.

...