Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Django将类对象的值导入同一模型中的另一个类_Django_Django Models - Fatal编程技术网

Django将类对象的值导入同一模型中的另一个类

Django将类对象的值导入同一模型中的另一个类,django,django-models,Django,Django Models,我是DJANGO的新手,在我的模型中遇到了一个问题。我试了很多次,但是没有找到一个办法得到结果 class Destination(models.Model): name = models.CharField(max_length=100) img = models.ImageField(upload_to='pics') desc = models.TextField() price = models.IntegerField() offer = mo

我是DJANGO的新手,在我的模型中遇到了一个问题。我试了很多次,但是没有找到一个办法得到结果

class Destination(models.Model):

    name = models.CharField(max_length=100)
    img = models.ImageField(upload_to='pics')
    desc = models.TextField()
    price = models.IntegerField()
    offer = models.BooleanField(default = False)
从上面的这个模型类中,我希望下面的模型类中的'name'字段的值相同

class Destination_individual(models.Model):

    # name = models.CharField(max_length=100, default = None)
    name = 
    img = models.ImageField(upload_to='pics_indiavidual')
    caption = models.CharField(max_length=100)
    img2 = models.ImageField(upload_to='pics_indiavidual')
    caption2 = models.CharField(max_length=100)
    img3 = models.ImageField(upload_to='pics_indiavidual')
    caption3 = models.CharField(max_length=100)
    img4 = models.ImageField(upload_to='pics_indiavidual')
    caption4 = models.CharField(max_length=100)
    img5 = models.ImageField(upload_to='pics_indiavidual')
    caption5 = models.CharField(max_length=100)
我的第一个类(Destination)被迁移到服务器,我希望该数据库(Destination)的Name字段值显示在Destination\u单个数据库的Name字段中

请指导我怎么做


非常感谢。

不确定您的第一个型号叫什么,因为您似乎已经剪掉了,但我们可以说它叫Person

你不应该把名字写在其他模型上,而是应该

person = models.ForeignKey(Person, on_delete=models.CASCADE)
然后,您可以使用

person.name

另外,根据Django命名标准,您的类确实应该命名为DestinationIndividual。没什么大不了的,但仍然是。

不确定你的第一个模型叫什么,因为你似乎已经剪掉了,但我们可以说它叫Person

你不应该把名字写在其他模型上,而是应该

person = models.ForeignKey(Person, on_delete=models.CASCADE)
然后,您可以使用

person.name

另外,根据Django命名标准,您的类确实应该命名为DestinationIndividual。这不是什么大问题,但仍然是。

只有当目的地的名称是唯一的时,这才是概念上可能的,因为否则该名称可能指多个
目的地

因此,我们可以将该字段设置为唯一,如:

class Destination(models.Model):
    name = models.CharField(max_length=100, unique=True)
    img = models.ImageField(upload_to='pics')
    desc = models.TextField()
    price = models.IntegerField()
    offer = models.BooleanField(default = False)
Django将在数据库中创建一个
name\u id
列,该列存储
目标对象的名称。它将创建外键约束,这样大多数数据库将验证
名称\u id
是否引用了
目标
记录的有效
名称


也就是说,通常最好让
外键
引用模型的主键(一个
自动字段
)。这样,您就可以使用
GenericForeignKey
,从而使您的模型更加统一。

只有当目的地的名称是唯一的时,这才在概念上是可能的,否则该名称可能引用多个
目的地

因此,我们可以将该字段设置为唯一,如:

class Destination(models.Model):
    name = models.CharField(max_length=100, unique=True)
    img = models.ImageField(upload_to='pics')
    desc = models.TextField()
    price = models.IntegerField()
    offer = models.BooleanField(default = False)
Django将在数据库中创建一个
name\u id
列,该列存储
目标对象的名称。它将创建外键约束,这样大多数数据库将验证
名称\u id
是否引用了
目标
记录的有效
名称


也就是说,通常最好让
外键
引用模型的主键(一个
自动字段
)。这样,您就可以使用
通用外键
,使您的模型更加统一。

您的答案非常完美。您的答案非常完美。