Как я могу позволить пользователю публиковать несколько изображений на одной модели? - PullRequest
0 голосов
/ 29 декабря 2010

У меня есть одна модель листинга:

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 голосов
/ 29 декабря 2010

ListingImage имеет ForeignKey до Listing, поэтому ModelForm для Listing не имеет ничего общего с ListingImage.

Вы не должныожидать, что ModelForm покажет модель Listing, которая покажет вам что угодно, кроме модели Listing.ListingImage - это обратное отношение к модели Listing.

Если бы это было ModelAdmin, вы бы получили на сайте администратора, чтобы показать вам эти обратные отношения, определив строки: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin

Поскольку не похоже, что вы говорите о панели администратора, вы смотрите InlineModelFormsets: http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#using-an-inline-formset-in-a-view

Кроме того, вы можете показать нам свои взгляды, чтобы мы моглиувидеть всю картину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...