【问题标题】:How to make a Django ImageField save the image to another model?如何让 Django ImageField 将图像保存到另一个模型?
【发布时间】:2010-11-05 01:48:37
【问题描述】:

我有一个成员资料应用程序,用于存储有关团队成员的简单信息。配置文件的一部分是用作头像的图像。我一直在使用 Photologue 创建标准照片库,但它有一个 ImageModel 可以扩展以利用 Photologue 的调整大小和缓存功能。

问题是,他们在页面上给出的示例如下所示:

from django.contrib.auth.models import User
from photologue.models import ImageModel

class UserPortrait(ImageModel):
    user = models.OneToOneField(User, primary_key=True)

我可以用会员替换用户,一切都会好起来的,除了编辑个人资料变成了一个两步过程;首先,我必须创建一个成员配置文件,然后创建一个 UserPortrait 并将其与成员相关联。我想将其简化为一个步骤,就像我使用 ImageField 一样。

我已经在表单级别和 admin.py 级别覆盖了图像字段,但我想知道我是否可以在模型级别甚至字段级别处理这个问题。我想拥有 ImageField 的内联功能,但仍然让文件由一个单独的相关模型管理。实际的模型内联看起来有点矫枉过正,因为它只有一张图片。

【问题讨论】:

    标签: django image inline models imagefield


    【解决方案1】:

    您的成员类应该扩展 ImageModel。不需要额外的类(例如 UserPortrait)。

    【讨论】:

    • 我想这个例子是你必须为用户做的,因为用户类不能被扩展。
    • 我决定采用内联路线,因为我认为在某些时候我可能想要多个与个人资料相关联的图像。
    猜你喜欢
    • 2012-02-08
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2010-11-21
    • 2015-02-27
    • 2021-03-26
    相关资源
    最近更新 更多