【问题标题】:How to upload images of 10k movies in one go in Django?如何在 Django 中一次性上传 10k 部电影的图像?
【发布时间】:2017-03-23 06:24:32
【问题描述】:

我正在创建一个包含 10k 电影的网站,它有一个名为 movies_logo 的属性,用于存储受人尊敬的电影的徽标。那么有什么方法可以让我一次性上传受人尊敬的电影的所有徽标,因为上传每部电影的标志都需要很多时间。这是我的models.py。

from django.contrib.auth.models import Permission, User
from django.db import models
from decimal import Decimal

class Picture(models.Model):
    user = models.ForeignKey(User, default=1)
    picture_id = models.IntegerField(default=0)
    picture_title = models.CharField(max_length=500)
    genres = models.CharField(max_length=1000)
    ratings = models.DecimalField(max_digits=10,decimal_places=1)
    picture_logo = models.ImageField()

    def __str__(self):
            return self.picture_title

【问题讨论】:

    标签: python django django-models django-templates django-views


    【解决方案1】:

    如果您没有图片的保存位置,则上传一张图片并查看它的存储位置和名称。如果你不喜欢这个命名,you can change it。一旦弄清楚了,您可以简单地转到您的 mysql 命令行,并将数据库中的图像字段设置为您决定的文件名和结构,然后将图像上传/移动到正确的位置。如果需要,可以使用for 循环来设置图像字段,而不是编写 SQL。

    【讨论】:

    • 我使用 CharField 而不是 ImageField 以便我可以传递 Pictureimage 的路径..但​​是我有 10k 部电影需要传递图像。你能建议我如何传递路径一口气看完 10k 部电影?
    • 你有一个模式对吗?所以只需转到manage.py shell 并运行for 循环以根据模式设置对象的CharField
    • 我会做的..在这之间你能清除这个吗? stackoverflow.com/questions/42876166/…
    • 我们试图从 omdi 中提取 10k 图像,但是大约 1k 图像丢失了,所以如果我写一个 for 循环,那么没有图像的电影将什么都不显示..所以可以写 try 和 except manage.py shell 中的语句,以便我可以为没有图像的电影显示默认图像?
    • 与其在数据库中给出默认值,不如在应该呈现图像的位置(视图/模板)给出默认值?这样,当您决定更改图像时,您就不必更改数据库。另外,冗余更少。
    猜你喜欢
    • 2011-06-24
    • 2017-07-21
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 2019-03-24
    • 2012-02-10
    • 1970-01-01
    相关资源
    最近更新 更多