Объект 'RelatedManager' не имеет никакого атрибута

Если Ваш при волнении по поводу триггера заказывает тогда, что действительно необходимо предпринять шаги назад и рассмотреть то, что Вы пытаетесь сделать и если существует там лучший способ сделать его. То, что это не легкая вещь измениться, должно говорить Вам что-то.

Триггеры всегда похожи на реальное аккуратное решение, и в правильном месте они очень ценны, , но цена высока, действительно легко создать кошмары отладки с ними. Я потерял много часов в прошлой попытке отладить некоторое неясное поведение базы данных только, чтобы найти, что причина роется далеко в пропущенном триггере.

28
задан mpen 1 December 2009 в 03:49
поделиться

2 ответа

When you access user.details, it accesses the backreference of the UserDetail.user foreign key. The foreign Key itself doesn't specify that a User can only have one UserDetail, so django gives you a RelatedManager, which you can filter and query just like a regular Manager. So you do the same things to it that you do to your .objects managers. You can ask for user.details.all(), user.details.filter(), user.details.get(), and so on, which will either give you a queryset, an object, or an exception,depending on the method and the results.

45
ответ дан 28 November 2019 в 03:06
поделиться

Try

request.user.details.get().favourites.add(article)

This assumes the UserDetail object already exists for that user, otherwise get() will raise an exception.

10
ответ дан 28 November 2019 в 03:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: