如何在Django admin中取消显示值为空的字段?

2024-03-28 20:30:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在在django工作。我创建了4个类型号.py,其中之一是ReactionMeta类。此类有62列,定义如下:

class Reactionsmeta(models.Model):

id = models.ForeignKey('Reactions', db_column='id', primary_key=True, max_length=255, on_delete=models.CASCADE)
name = models.CharField(max_length=255, blank=True, null=True)
metabolite1 = models.ForeignKey('Metabolites', db_column='metabolite1', blank=True, null=True,
                                on_delete=models.CASCADE)
stoichiometry1 = models.CharField(max_length=255, blank=True, null=True)
metabolite2 = models.ForeignKey('Metabolites', db_column='metabolite2', blank=True, null=True,
                                on_delete=models.CASCADE, related_name='+')
stoichiometry2 = models.CharField(max_length=255, blank=True, null=True)
metabolite3 = models.ForeignKey('Metabolites', db_column='metabolite3', blank=True, null=True,
                               on_delete=models.CASCADE, related_name='+')
stoichiometry3 = models.CharField(max_length=255, blank=True, null=True)
metabolite4 = models.ForeignKey('Metabolites', db_column='metabolite4', blank=True, null=True,
                                on_delete=models.CASCADE, related_name='+')
#...

有些反应可能有6种代谢物,但是有些反应可能只有2种代谢物和化学计量,这意味着在代谢物3,4,5,6…柱和化学计量3,4,5,6…柱中没有该反应的值。你知道吗

在这种情况下,如何在django admin中只显示带有数据的Charfield,而不显示那些没有值的Charfield?你知道吗


Tags: nametruedbonmodelscolumndeletenull
1条回答
网友
1楼 · 发布于 2024-03-28 20:30:41

所以我认为这里有模型设计的问题。对于我的情况,我会这样做如下

class ReactionMeta(models.Model):
  reaction = models.ForeignKey(Reaction, ..)
  name = models.CharField(..)
  data = models.ForeignKey(Data, ..)

构造数据类来保存化学计量和代谢物

class Data(models.Model):
  stoichiometry = models.CharField(..)
  metabolite = models.ForeignKey(..)

相关问题 更多 >