У меня есть стандартная модель с иностранным ключом, в данном случае из биологии: Seed to Taxon.Модель таксона включает в себя как таксоны животных, так и растения, и имеет столбец категории, который называется либо зоологией, либо ботаникой
. Когда я добавляю новое семя, я получаю ожидаемый раскрывающийся список, но он содержит параметры зоологии и ботаники.Как мне отфильтровать его, чтобы отображались только параметры ботаники?Я предполагаю, что этот фильтр может быть применен где-то в модели?Я пытался добавить .filter () и .exclude (), но они здесь ничего не делают.
class Taxon(models.Model):
taxon_id = models.AutoField(primary_key=True)
taxon = models.CharField(max_length=50, blank=True, null=True)
common_name = models.CharField(max_length=50, blank=True, null=True)
taxon = models.CharField(max_length=50, blank=False, null=False)
genus = models.CharField(max_length=50, blank=True, null=True)
category = models.CharField(max_length=50, blank=True, null=True)
# family_name = models.CharField(max_length=50, blank=True, null=True)
def __str__(self):
return str(self.taxon)
class Meta():
managed=False
db_table = 'kap\".\"taxon_manager'
ordering = ["genus","taxon"]
verbose_name_plural = "taxon"
class Seed(models.Model):
seed_id = models.AutoField(primary_key=True)
fraction_id = models.ForeignKey(Fraction, db_column='fraction_id', blank=True, null=True, on_delete = models.PROTECT)
taxon_id = models.ForeignKey(Taxon, db_column='taxon_id', blank=True, null=True, on_delete = models.PROTECT, related_name='seed_taxon')
weight_type = models.CharField(max_length=50)
weight = models.DecimalField(max_digits=10, decimal_places=3)
quantity_type = models.CharField(max_length=50)
quantity = models.IntegerField()
def __str__(self):
return str(self.taxon_id)
class Meta():
managed=False
db_table = 'kap\".\"seed'
ordering = ["taxon_id","fraction_id"]
verbose_name_plural = "seeds"