示例:
我有一个名为疾病的表,它包含四个字段:
对于一种疾病,可能存在许多症状。那么,我可以根据需要在一个字段症状中存储尽可能多的数据吗?怎么样?如果我不能解决另一个解决方案呢?
答案 0 :(得分:1)
您可以制作症状表,然后使用一对多关系将其关联起来。
答案 1 :(得分:1)
我认为最好的方法是使用这样的一对多关系:
class Disease(models.Model):
# insert fields
class Symptom(models.Model):
disease = models.ForeignKey(Disease, related_name='symptoms')
# insert other fields
然后,您将能够通过related_name
获得疾病症状:
disease.symptoms.all()
但是如果你想为它们使用一个表,你可以使用JSONField
:
class Disease(models.Model):
symptoms = models.JSONField()
然后,您可以创建这样的疾病:
Disease.objects.create(symptoms=['first', 'second'])
但是,它只是PostgreSQL。因此,如果您不使用Postgres,则无法使用它。
希望它有所帮助!
答案 2 :(得分:0)
使用列表:
disease = ["Id", "Name", "Type", ["symptom_1", "symptom_2", ..., "symptom_n"]]
或(更好)字典:
disease = {
"DiseaseId" : "ID",
"DiseaseName" : "Name",
"DiseaseType" : "Type",
"Symptoms" : ["symptom_1", "symptom_2", ..., "symptom_n"]
}