У вас есть следующая строка, для аргумента default
вы вызываете функцию, чтобы получить модель по умолчанию Shape
:
shape = models.ForeignKey(Shape, on_delete=models.SET_DEFAULT,
default=get_default(Shape),
related_name="tanks")
Но переменная Shape
модели name
не делаетпо умолчанию. И Shape
не будет иметь права по умолчанию само по себе. Поле в таблице Shape
будет иметь значение по умолчанию, например. name
. :
# Your code
name = models.CharField(max_length=40, unique=True)
Чтобы получить значение по умолчанию, вы можете использовать:
Shape._meta.get_field('name').get_default()
На основании вашего последнего комментария попробуйте изменить следующий код:
shape = models.ForeignKey(Shape, on_delete=models.SET_DEFAULT,
related_name="tanks")
РЕДАКТИРОВАНИЕ:
Предоставление полного кода в качестве ответа:
class Shape(models.Model):
name = models.CharField(max_length=40, unique=True)
class Tank(models.Model):
name = models.CharField(max_length=50)
shape = models.ForeignKey(Shape, on_delete=models.SET_DEFAULT,
default=1,
related_name="tanks")