У меня есть следующий код:
class ReportType(models.Model):
REPORT_TYPE_CHOICES = (
('E', 'Earnings'),
('MA', 'Monthly announcement'),
('WA', 'Weekly announcement'),
('SA', 'Sales announcement'),
)
report_type = models.CharField(
max_length=50,
choices=REPORT_TYPE_CHOICES,
default="Earnings"
)
def __str__(self):
return self.report_type
Это только один из классов моделей, который включает атрибут choices для одного из полей.Однако, выполняя «makemigrations» и затем «migrate», инструмент управления создает таблицу базы данных, но не заполняет атрибут таблицы базы данных данными, которые он должен делать.В результате, когда я использую эту модель в модели, я получаю пустой раскрывающийся список при щелчке по раскрывающемуся списку в форме.
Эта проблема возникает почти во всех классах моделей, которые включаютполе выбора, но на самом деле работает один из классов модели, но он имеет тот же код, за исключением разного содержимого в фактическом выборе.
Кто-то знает, почему инструмент управления django не заполняет данные ватрибуты выбора в таблицу базы данных?Я не вижу никаких проблем с кодом.
РЕДАКТИРОВАТЬ: Modelform для класса отчета:
class ReportForm(ModelForm):
class Meta:
model = Report
fields = ['profile', 'name', 'report_type', 'time_period', 'link']
ReportType не имеет прикрепленной к себе формы модели, но это чужой ключ вКласс отчета.
Модель отчета имеет следующий код:
class Report(models.Model):
profile = models.ForeignKey(Profile, on_delete=models.CASCADE)
name = models.CharField(max_length=200)
report_type = models.ForeignKey(ReportType)
time_period = models.ForeignKey(ReportTimePeriod)
link = models.URLField(max_length=500)
report_conclusion = models.CharField(max_length=500, default="No conclusion yet")
market_reaction = models.CharField(max_length=500, default="No market reaction yet")
ReportTimePeriod также имеет список вариантов в одном из атрибутов, поэтому я ожидаю, что он также заполнит базу данных там..