我目前正在研究django。我在models.py中创建了4个类,其中一个是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 -1,4,5,6- ...列。
在这种情况下,如何在django-admin中显示没有值的Charfield时,只显示包含数据的Charfield?
答案 0 :(得分:0)
所以我觉得这里有模型设计问题。对于我的情况,我会这样做如下
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(..)