Я новичок в Django.
Мне нужны столбцы, показывающие только type_of_due_date, который существует в выбранной стране.
В "классе InputType" я пытался использовать limit_choices_to и функцию Q,но видите ошибку типа
int () аргумент должен быть строкой, байтовым объектом или числом, а не 'ForeignKey' #
Пожалуйста, помогите. Что я не так сделал?
Мои модели:
class InputVatDueDate(models.Model):
country = models.ForeignKey(Country, verbose_name='Country', on_delete=models.CASCADE, db_index=True,
blank=True)
date = models.DateField(_('date'), default=datetime.datetime.now)
class Meta:
verbose_name = _('input vat due date')
verbose_name_plural = _('input vats due date')
unique_together = (('country', 'date'),)
def __str__(self):
return self.country.name
class TypeOfVatDueDate(models.Model):
vat_due_date = models.ForeignKey(InputVatDueDate, on_delete=models.CASCADE)
type_of_due_date = models.CharField(max_length=100, choices=enum_to_choice(TypeDueDates))
date_of_start = models.IntegerField(_('day of start date'))
def __str__(self):
return self.type_of_due_date
class InputType(models.Model):
vat_due_company = models.ForeignKey(CompanyVatDueDate, on_delete=models.CASCADE)
country = models.ForeignKey(InputVatDueDate, on_delete=models.CASCADE,)
type_of_due_date = models.ForeignKey(TypeOfVatDueDate, on_delete=models.CASCADE, limit_choices_to=Q(vat_due_date_id=country), )