Size: a a a

Django [ru] #STAY HOME

2019 November 06

DT

Dan Tyan in Django [ru] #STAY HOME
Ynwa
Ребят как мне создать новый атрибут (поле) для моей модели так, чтобы данный атрибут состоял из частей других атрибутов + уникально значения?
Создаешь поле нужного тебе типа и при сохранении его заполняешь
источник

IT

I T in Django [ru] #STAY HOME
Значит все правильно у меня работает, спасибо!
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
Как мне указать list_display для расширенной модели пользователя, если в нем должны находится ячейки из модели с помощью который я расширял
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
class ProfileInlineAdmin(admin.StackedInline):
   model = Profile
   can_delete = False
   verbose_name_plural = 'Профиль юзера'


class UserAdmin(BaseUserAdmin):
   inlines = (ProfileInlineAdmin,)
   list_display = ('username', profile.tg_id <- что вместо этого)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Profile__tg_id
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
Dan Tyan
Profile__tg_id
как именно?
я совсем глупенький
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Если совсем глупенький может не стоит этим заниматься?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
В кавычках пишешь 'profile__tg_id'
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
ну так оно не работает)
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
думал может по другому нужно
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Двойное подчеркивание это синтаксис обращения к связаной модели
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
<class 'polls.admin.UserAdmin'>: (admin.E108) The value of 'list_display[1]' refers to 'Profile__tg_id', which is not a callable, an attribute of 'UserAdmin', or an attribute or
method on 'auth.User'.
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
models.py
class Profile(models.Model):
   user = models.OneToOneField(User, on_delete=models.CASCADE)
   tg_id = models.CharField(max_length=15, blank=True)

   def __str__(self):
       return self.user.username
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Так ты profile с маленькой буквы попробуй написать
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
<class 'polls.admin.UserAdmin'>: (admin.E108) The value of 'list_display[1]' refers to 'profile__tg_id', which is not a callable, an attribute of 'UserAdmin', or an attribute or
method on 'auth.User'.
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
даже не понимаю, в чем может быть проблема
миграция есть
источник

D

Dmitry in Django [ru] #STAY HOME
list_display = ('username', 'get_tg_profile_id')


   def get_tg_profile_id(self, obj):
       return obj.profile.tg_id
   get_tg_profile_id.short_description = 'Tg Profile ID'
источник

D

Dmitry in Django [ru] #STAY HOME
так попробуй
источник

МВ

Маг Волшебник in Django [ru] #STAY HOME
работает
источник

DT

Dan Tyan in Django [ru] #STAY HOME
По теории должно работать, закинь код модели и админки в гист
источник