如何让用户将多个图像发布到一个模型?

时间:2010-12-29 00:59:14

标签: django image file-upload

我有一个列表模型:

class Listing(models.Model):

    owner = models.ForeignKey(User, verbose_name=_('offerer'))
    title = models.CharField(_('Title'), max_length=255)
    slug = models.CharField(editable=False, max_length=255)
    price = models.PositiveIntegerField(_("Price"), null=True, blank=True)
    description = models.TextField(_('Description'))
    time = models.DateTimeField(_('Created time'), 
        default = datetime.now,
        editable = False
    )

然后我有一个ListingImage,其中包含列表的图片:

from photologue.models import ImageModel

class ListingImage(ImageModel):

    pictures = models.ForeignKey(Listing, related_name="images")

forms.py

class ListingForm(forms.ModelForm):

    class Meta:
        model = Listing
        exclude = ('owner',) 

    def __init__(self, *args, **kwargs):
        super(ListingForm, self).__init__(*args, **kwargs)

为什么在上传页面上没有上传图片的字段?

1 个答案:

答案 0 :(得分:0)

ListingImageForeignKey Listing,因此ModelForm的{​​{1}}与{{1}无关}}

Listing模型不应期望ListingImage向您展示除ModelForm模型之外的任何内容。 ListingListing模型的反向关系。

如果这是ListingImage,您可以通过定义内联来让管理网站向您展示这些反向关系: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin

由于您看起来不像是在谈论管理面板,所以您正在关注Listinghttp://docs.djangoproject.com/en/dev/topics/forms/modelforms/#using-an-inline-formset-in-a-view

此外,您可以向我们展示您的观点,以便我们可以看到整个情况。