У меня есть класс подфорум с ForeignKey к себе - родительский:Джанго - нуль ForeignKey
class Forum(models.Model):
name = models.CharField(max_length=200)
url = models.URLField()
class SubForum(models.Model):
name = models.CharField(max_length=200)
orginal_id = models.IntegerField()
forum = models.ForeignKey('Forum')
parent = models.ForeignKey('self', null=True, blank=True)
Я хочу, чтобы нулевые и пустых enteries - Я видел примеры, что это правильный способ сделать это.
В SQL Server зрения все в порядке:
BEGIN;CREATE TABLE "main_forum" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(200) NOT NULL,
"url" varchar(200) NOT NULL
)
;
CREATE TABLE "main_subforum" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(200) NOT NULL,
"orginal_id" integer NOT NULL,
"forum_id" integer NOT NULL REFERENCES "main_forum" ("id"),
"parent_id" integer
)
;COMMIT;
В parent_id
поле нет NOT NULL
, но когда я хочу, чтобы добавить новый подфорум с помощью панели администратора без установки родителя я получаю сообщение об ошибке:
Cannot assign None: "SubForum.parent" does not allow null values.
Что случилось?
Вы случайно не обновили b до того, как обнаружили, что он не работает. Затем в ваших усилиях по решению проблемы вы запустили updateb и ваша база данных была обновлена? – wilbbe01
Я проверил updatedb несколько раз, поэтому в этот момент трудно сказать, что решила проблема. – pbm
Нет, вы не должны его удалять. Через год это был хороший пример для меня. –