Django将类对象的值导入同一模型中的另一个类
我是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
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
是否引用了目标
记录的有效名称
也就是说,通常最好让外键
引用模型的主键(一个自动字段
)。这样,您就可以使用通用外键
,使您的模型更加统一。您的答案非常完美。您的答案非常完美。