Size: a a a

Django [ru] #STAY HOME

2020 August 11

Z

Zakhar in Django [ru] #STAY HOME
Nikolay Cherniy
Ну вообще дескрипторы это другое, но я просто не в первый раз встречаю, что магические методы называют дескрипторами и пытаюсь понять откуда такое мнение
Можешь тогда сказать что такое дескриптор?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Zakhar
Можешь тогда сказать что такое дескриптор?
Дескриптор это класс у которого переопределен хотя бы один из методов __set__,__get__ или __delete__ и использующийся для доступа к аргументам или методам другого класса
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Nikolay Cherniy
Дескриптор это класс у которого переопределен хотя бы один из методов __set__,__get__ или __delete__ и использующийся для доступа к аргументам или методам другого класса
например декораторы staticmethod, property и classmethod реализованы через дескрипторы
источник

Z

Zakhar in Django [ru] #STAY HOME
Nikolay Cherniy
Дескриптор это класс у которого переопределен хотя бы один из методов __set__,__get__ или __delete__ и использующийся для доступа к аргументам или методам другого класса
окей, понял

спасибо
источник

S

Stanley in Django [ru] #STAY HOME
Zakhar
Всем привет!

Что можно сделать с дескриптором _str_ в модели, чтобы отображать в админке?

У меня есть такие модельки: https://dpaste.org/CWyv, и когда я захожу в админку, чтобы добавить территорию у меня все сразу зависает (просто экран закрузки) и потом вылетает в тайм аут, но когда я удалю _str_ то моментально грузится

Админка вот так
@admin.register(Product)
class ProductAdmin(admin.ModelAdmin, SearchByAllSearchFields):
   fields = ['name', 'territories']
думаю тебе надо к полю обратиться
источник

S

Stanley in Django [ru] #STAY HOME
def __str__(self):
       return f'{self.region.name}, {self.city.name}'
источник

S

Stanley in Django [ru] #STAY HOME
к имени поля name или как у тебя в модели
источник

Z

Zakhar in Django [ru] #STAY HOME
Stanley
def __str__(self):
       return f'{self.region.name}, {self.city.name}'
там у меня тоже str стоит
источник

S

Stanley in Django [ru] #STAY HOME
Stanley
def __str__(self):
       return f'{self.region.name}, {self.city.name}'
name name все правильно так попробуй как я напимсал
источник

S

Stanley in Django [ru] #STAY HOME
просто когда ты пишешь self.region тф всю модель получаешь а тебе название же только надо типо Россия Иркутск
источник

S

Stanley in Django [ru] #STAY HOME
Zakhar
там у меня тоже str стоит
А, не сразу догнал про что ты, хз пробовать надо\
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Zakhar
там у меня тоже str стоит
а у них в админке нормально отображается?
источник

S

Stanley in Django [ru] #STAY HOME
Zakhar
там у меня тоже str стоит
может кстати тут явно str() вернуть в
__str__
или он по факту только str возвращает?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Stanley
может кстати тут явно str() вернуть в
__str__
или он по факту только str возвращает?
о, кстати, ты прав!
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
скорее всего кто-то инт возвращает
источник

S

Saydi in Django [ru] #STAY HOME
Zakhar
там у меня тоже str стоит
Тут self.id не вернет же, str(self.id)
источник

Z

Zakhar in Django [ru] #STAY HOME
Nikolay Cherniy
а у них в админке нормально отображается?
Да, тут все норм
источник

Z

Zakhar in Django [ru] #STAY HOME
Saydi
Тут self.id не вернет же, str(self.id)
У них у всех есть name
источник

Z

Zakhar in Django [ru] #STAY HOME
Если просто так на модельку смотреть через админку, то все норм

А если через м2м то зависает
источник

N

Nire in Django [ru] #STAY HOME
Ты в админке модель как зарегал?
источник