Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » На одной админ форме 2 модели через onetoone [RSS Feed]

#1 Июль 27, 2009 18:20:52

Oduvan
От:
Зарегистрирован: 2008-07-19
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

На одной админ форме 2 модели через onetoone

Есть 2 модели, которые связаны друг с другом onetoone по средствам третьей модели. Как мне можно все эти 3 модели редактировать в одной админ форме, т.е. в админке на одной странице?



Офлайн

#2 Июль 28, 2009 00:38:07

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

На одной админ форме 2 модели через onetoone

Oduvan
Есть 2 модели, которые связаны друг с другом onetoone по средствам третьей модели. Как мне можно все эти 3 модели редактировать в одной админ форме, т.е. в админке на одной странице?
Смотри inline объекты в доке по админке в офф

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects

Офлайн

#3 Июль 30, 2009 02:01:43

Oduvan
От:
Зарегистрирован: 2008-07-19
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

На одной админ форме 2 модели через onetoone

romankrv
Смотри inline объекты в доке по админке в офф
Инлайн объекты могут только foreignkey или ManyToMany. а мне надо OneToOne

все решилось тривиально. Я просто переопеределил форму редактирования для админки и добавил ей полей из других связных моделей.



Офлайн

#4 Фев. 8, 2013 17:49:12

devalentino
Зарегистрирован: 2013-02-08
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

На одной админ форме 2 модели через onetoone

Помогите реализовать.

Нужно редактировать Manufacturer c одной картинкой и Product с несколькими картинками.
Как настроить админку?

class Color(models.Model):
    title = models.CharField(max_length=30)
    code = models.CharField(max_length=7)
    def __unicode__(self):
        return '{0} ({1})'.format(self.title, self.code)
class Size(models.Model):
    title = models.CharField(max_length=20)
class Image(models.Model):
    color = models.ForeignKey(Color)
    src = models.ImageField(upload_to='media/img/')
    alt = models.CharField(max_length=255)
    '''
    object_id = models.PositiveIntegerField()
    content_type = models.ForeignKey(ContentType)
    of = generic.GenericForeignKey('content-type', 'object_id')
    '''
    def __unicode__(self):
        return '{0} ({1})'.format(self.alt, self.color.title)
class Manufacturer(models.Model):
    title = models.CharField(max_length=255)
    image = models.OneToOneField(Image, parent_link=True)
    def __unicode__(self):
        return self.title
class Product(models.Model):
    title = models.CharField(max_length=255)
    manufacturer = models.ForeignKey(Manufacturer)
    description = models.TextField()
    price = models.DecimalField(max_digits=8, decimal_places=2)
    image = models.ManyToManyField(Image)
    pub_date = models.DateTimeField('Date published')
    mod_date = models.DateTimeField('Date modified')

Офлайн

  • Начало
  • » Django
  • » На одной админ форме 2 модели через onetoone[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version