python - 在 Django 模型中的一个变量中存储多个信息

标签 python django variables django-models

    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 个选项:ForeignKeyManyToManyField。坚持使用 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/

相关文章:

django - 在 RESTfull 资源中按所有者过滤项目的最佳实践

r - 50 个州随时间变化的箱线图

python - 如何在 Python 中删除字符串中的任何 URL

python - Tensorflow slim 训练和验证初始模型

python - Django:内置密码重置 View

Django 表单向导 - 将请求传递给 View ?

variables - HASKELL --- 有没有删除列表中元素的函数?

bash - 如何在bash中捕获和修改正则表达式识别的数字

python - 如何从 dockerpy 中的 docker-run 管道标准输出

python - Word2Vec 比较来自不同模型的不同大小的向量