class Cities(models.Model):
city_main_image = models.FileField()
city_name = models.CharField(max_length=200)
city_info = models.CharField(max_length=1000)
city_images = models.FileField()
在我的 models.py 中,我有 Cities 类,我想为该类变量上传多个图像,以便清楚地了解 city_images
变量,我该怎么做?有什么办法可以做到这一点吗?
最佳答案
在回答您的问题之前,先对您的代码进行一些说明。
1) 坚持使用单一的模型名称,City 而不是 Cities。
2)不要在每个字段中重复模型名称,这样你就会得到“main_image”,
“名称”、“信息”、“图像”。
3) 对图像使用 ImageField 而不是 FileField。
4) main_image 和 images 不需要有 2 个字段。您可以添加额外的字段来使图像成为或不是主图像。
现在,要回答您的问题,您需要阅读 SQL 数据库中的关系。 要通过 django 的 ORM 使用模型之间的关系,请查看 https://docs.djangoproject.com/en/2.0/ref/models/fields/#django.db.models.ForeignKey
您有 2 个选项:ForeignKey
或 ManyToManyField
。坚持使用 ForeignKey
,因为您不需要多对多关系。
所以你会得到类似下面的内容:
class City(models.Model):
...
class CityImage(models.Model):
image = models.ImageField(...)
city = models.ForeignKey(City) # you might need to add on_delete parameter depending on your django version.
或
class CityImage(models.Model):
image = models.ImageField(...)
class City(models.Model):
...
images = models.ManyToManyField(CityImage)
关于python - 在 Django 模型中的一个变量中存储多个信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49414862/