Как добавить Tabular Inline на страницу пользователя по умолчанию в Django, когда другая модель имеет отношение "многие ко многим" с моделью пользователя
Я искал решения этой проблемы в Интернете, но так и не смог найти ответ на этот вопрос.
Вот мои модели:
class Website(models.Model):
url = models.URLField()
users = models.ManyToManyField(User)
def __str__(self) -> str:
return str(self.url)
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField(null=True, blank=True)
nickname = models.CharField(blank=True, null=True, max_length=50)
location = models.CharField(blank=True, null=True, max_length=50)
weight = models.DecimalField(null=True, max_digits=5, decimal_places=2)
def __str__(self) -> str:
return str(self.user)
Как вы можете видеть, одно поле в модели Website имеет отношение "ManyToMany" с моделью User по умолчанию в django. Поэтому мне интересно, как я могу изменить или увидеть список сайтов, которые есть у пользователя, на странице/разделе пользователя.
- Я пробовал сделать это, но ничего не вышло:
class WebsiteInline(admin.TabularInline):
model = Website
extra = 1
class UserAdmin(admin.ModelAdmin):
inlines = [WebsiteInline]
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
и вот ошибка: <class 'accounts.admin.WebsiteInline'>: (admin.E202) 'accounts.Website' has no ForeignKey to 'auth.User'.