Задать вопрос
@lukepker

Как добааить инлайн связь к юзеру в админке джанго?

Здравствуйте!
Прописал у юзера в моделях связь м2м:
from django.contrib.auth.models import User

class Item(models.Model):

    users = models.ManyToManyField(User, through='Item_in_cart', verbose_name='Заказавшие', related_name='items')

class Item_in_cart(models.Model):

    item = models.ForeignKey(Item, verbose_name='Товар', on_delete=models.CASCADE)
    user = models.ForeignKey(User, verbose_name='Пользователь', on_delete=models.CASCADE)
    amount = models.IntegerField(verbose_name='Количество')

Теперь мне нужно, чтобы в админке Item_in_cart отображалось в юзере (именно в юзере, в итеме не годится. Для этого я пишу
from django.contrib.auth.models import User

class ItemInline(admin.TabularInline):
    model = Item_in_cart
    extra = 1

class UserAdmin(admin.ModelAdmin):
    inlines = (ItemInline, )

admin.site.register(User, UserAdmin)

выдает ошибку django.contrib.admin.sites.AlreadyRegistered: The model User is already registered
как бы логично что юзер уже в админке зареган, но как вписать необходимое то?
Подскажите, пожалуйста
  • Вопрос задан
  • 689 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@bickford
Python backend, неуверенный mid
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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