Python Django,在同一模型中创建多个相同的字段
我对Django完全陌生,所以如果这是错误的方法,请原谅我。当我试图学习Django时,我喜欢自己做一些小练习题来巩固我的理解 使用模型时,我创建了示例模型对象:Python Django,在同一模型中创建多个相同的字段,python,django,Python,Django,我对Django完全陌生,所以如果这是错误的方法,请原谅我。当我试图学习Django时,我喜欢自己做一些小练习题来巩固我的理解 使用模型时,我创建了示例模型对象: from django.db import models class Food(models.Model): name = models.CharField( max_length=50, help_text="Name of Fruit or Vegetable"
from django.db import models
class Food(models.Model):
name = models.CharField(
max_length=50,
help_text="Name of Fruit or Vegetable"
)
food_group = models.CharField(
max_length=9,
class Vitamins(models.Model):
name = models.ForeignKey(
Food,
on_delete=models.CASCADE
)
vitamin_A = models.CharField(
max_length=20,
)
.
.
.
folate = models.CharField(
max_length=20,
help_text="Folic Acid"
)
在我的对象中,我有5个相同的字段存储文本,即(微量、5mg、无信息)。然而,键入每个字段似乎很乏味。有更有效的方法吗?我认为你应该利用关系数据库,创建一个维生素模型,名字和叶酸,类似这样的东西
from django.db import models
class Food(models.Model):
name = models.CharField(
max_length=50,
help_text="Name of Fruit or Vegetable"
)
class Vitamin(models.Model):
food = models.ForeignKey(
Food,
on_delete=models.CASCADE
)
name = models.CharField(
max_length=20,
)
folate = models.CharField(
max_length=20,
help_text="Folic Acid"
)
然后为食物中的每一种维生素创造一个记录。它可以是1、2或N。这是非常灵活和可伸缩的。我认为你应该利用关系数据库,创建一个维生素模型,名字和叶酸,类似这样的东西
from django.db import models
class Food(models.Model):
name = models.CharField(
max_length=50,
help_text="Name of Fruit or Vegetable"
)
class Vitamin(models.Model):
food = models.ForeignKey(
Food,
on_delete=models.CASCADE
)
name = models.CharField(
max_length=20,
)
folate = models.CharField(
max_length=20,
help_text="Folic Acid"
)
然后为食物中的每一种维生素创造一个记录。它可以是1、2或N。这是非常灵活和可伸缩的。为什么不为每项维生素创建一个新记录?我指的是含有食物(FK)、名字和叶酸的维生素模型?在创建一个条目时,你只需创建一个新记录。为什么不为每个条目创建一个新记录呢?我指的是含有食物(FK)、名字和叶酸的维生素模型?在创建条目时,您只需创建一个新记录。谢谢!我接受了答案。我意识到我被困在一种心态中,我试图将电子表格强加到我的模型中。我认为电子表格中的每一列在一个对象中都需要它自己的字段。而不是仅仅考虑创建一个我需要的记录,并将其与我的对象关联起来,这更灵活。谢谢!我接受了答案。我意识到我被困在一种心态中,我试图将电子表格强加到我的模型中。我认为电子表格中的每一列在一个对象中都需要它自己的字段。而不是仅仅考虑创建一个我需要的记录,并将其与我的对象关联起来,这样更灵活。