Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 26, 2012 19:26:20

pyOut
От:
Зарегистрирован: 2006-07-16
Сообщения: 125
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 'RelatedManager' object has no attribute '_meta'

Столкнулся со следующей проблемой есть модель:

class Company(models.Model):
    TYPE_CHOICES = (
        ('company', _(u'Компания')),
        ('branch', _(u'Филиал')),
    )
    user = models.ForeignKey(User, related_name='company', verbose_name=u'Владелец')
    type = models.CharField(_(u'Тип'), max_length=25, default='company', choices=TYPE_CHOICES)
    name = models.CharField(_(u'Название'), max_length=255)

Раньше когда поле user было полем AutoOneToOneField следующая конструкция работала нормально
request.user.company
Сейчас же эта конструкция ругается:
‘RelatedManager’ object has no attribute ‘_meta’

Как пофиксить проблемы чтобы этот код отдавал компанию с типом company?



Отредактировано pyOut (Июнь 26, 2012 19:27:20)

Офлайн

#2 Июнь 27, 2012 05:45:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Django 'RelatedManager' object has no attribute '_meta'

pyOut
Столкнулся со следующей проблемой есть модель:
class Company(models.Model):
    TYPE_CHOICES = (
        ('company', _(u'Компания')),
        ('branch', _(u'Филиал')),
    )
    user = models.ForeignKey(User, related_name='company', verbose_name=u'Владелец')
    type = models.CharField(_(u'Тип'), max_length=25, default='company', choices=TYPE_CHOICES)
    name = models.CharField(_(u'Название'), max_length=255)

Раньше когда поле user было полем AutoOneToOneField следующая конструкция работала нормально
request.user.company
Сейчас же эта конструкция ругается:
‘RelatedManager’ object has no attribute ‘_meta’

Как пофиксить проблемы чтобы этот код отдавал компанию с типом company?
Дело в том, что одному юзеру может соответствовать несколько компаний.
Т.е. request.user.company вернет не объект company, а типа список таких объектов.
Тебе нужно что-то вроде этого
request.user.company.objects.get()



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version