Уведомления

Группа в Telegram: @pythonsu

#1 Июль 27, 2013 18:15:27

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

related_name и "does not exist"

Здравствуйте!

Есть модели User и Company

class User(AbstractBaseUser):
    ...
class Company(models.Model):
    user = models.OneToOneField(User, related_name='company', verbose_name=u'Пользователь')
    ...


Если я обращаюсь к Company из User и у пользователя нет компании, то вылетает ошибка “does not exist”

self.request.user.company => “does not exist”

Как с этим бороться, постоянно обертывать в try except или есть вариант удобней ?



Офлайн

#2 Июль 27, 2013 20:31:49

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

related_name и "does not exist"

self.request.user.company.exists()



Офлайн

#3 Июль 28, 2013 17:27:25

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

related_name и "does not exist"

FishHook

Выдает AttributeError: ‘Company’ object has no attribute ‘exists’

Это наверное потому что у меня OneToOneField !



Отредактировано andreiru (Июль 29, 2013 04:03:41)

Офлайн

#4 Июль 28, 2013 17:33:17

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

related_name и "does not exist"

Может добавить в модель User:

    @property
    def company_or_none(self):
        if hasattr(self, 'company'):
            return self.company

?



Отредактировано andreiru (Июль 28, 2013 17:33:25)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version