Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django,在同一模型中创建多个相同的字段_Python_Django - Fatal编程技术网

Python 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"

我对Django完全陌生,所以如果这是错误的方法,请原谅我。当我试图学习Django时,我喜欢自己做一些小练习题来巩固我的理解

使用模型时,我创建了示例模型对象:

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)、名字和叶酸的维生素模型?在创建条目时,您只需创建一个新记录。谢谢!我接受了答案。我意识到我被困在一种心态中,我试图将电子表格强加到我的模型中。我认为电子表格中的每一列在一个对象中都需要它自己的字段。而不是仅仅考虑创建一个我需要的记录,并将其与我的对象关联起来,这更灵活。谢谢!我接受了答案。我意识到我被困在一种心态中,我试图将电子表格强加到我的模型中。我认为电子表格中的每一列在一个对象中都需要它自己的字段。而不是仅仅考虑创建一个我需要的记录,并将其与我的对象关联起来,这样更灵活。