Так часто бывает важно иметь ForeignKey
соединение, которое начинается с нуля и затем есть что-то add
EdДжанго внешний ключ, начиная с ничего
вот мой model
s
class Class(models.Model):
title = models.CharField(max_length=30)
threshold = models.PositiveIntegerField(validators=[MaxValueValidator
(100),MinValueValidator(60)])
works = models.ForeignKey(Work,null=True) #blank=True also doesn't work
поэтому я создать класс что не имеет Work
, логически имеет смысл:
math = Class("math",90)
math.save()
теперь позволяет сказать, что мы имеем homework
и quizzes
, которые являются Work
экземплярами:
math.works.add(homework,quizzes)
#gives the following error
AttributeError: 'NoneType' object has no attribute 'add'
math.works
явно пусто, чтобы начать, и что имеет смысл, но это не позволит мне добавить что-нибудь!
Как я могу запустить ForeignKey ни с чем, а затем уметь add
?
Либо у вас есть ваши отношения назад, либо вам нужны отношения «многие ко многим». Может ли данный экземпляр «Work» принадлежать более чем одному классу за раз? –
Нет, «Работа» индивидуальна для каждого класса. Причиной этого является то, что домашняя работа может составлять 10% в одном классе и 20% в другой, поэтому экземпляр «Work» может принадлежать только одному классу. Раньше у меня было много-много отношений, и все сработало, но потом я понял, что у иностранца больше смысла. Таким образом, я все правильно отредактировал, и я не могу пройти эту ошибку. –
ваш внешний ключ должен быть в рабочей модели, а не в классе, поскольку работа знает свой класс, но класс имеет много работ – alko