我是 Django 的新手,并且已经做了几个类,一个帐户可以有多个订阅者。在 django admin 中查看订阅者时,它会正确显示订阅者与哪个帐户相关。但是,在查看帐户时,它不会显示它拥有哪些订阅者。
我看到一篇文章(How to create many-to-one relationship with django and to display it in admin interface)建议使用内联,尽管它对我不起作用。我在哪里错了?
模型.py:
from django.db import models
from django.contrib.auth.models import AbstractUser
class Account(AbstractUser):
pass
class Subscriber(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100, null=True, blank=True)
email = models.CharField(max_length=100, null=True)
date_joined = models.DateTimeField(auto_now_add=True, null=True)
verified = models.BooleanField(default=False)
account = models.ForeignKey(
Account, on_delete=models.CASCADE)
def __str__(self):
return self.email
list_display = ('first_name', 'email', 'date_joined', 'verified')
管理员.py:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from accounts import models
# does nothing
class SubscriberInline(admin.TabularInline):
model = models.Subscriber
extra = 1
admin.site.register(models.Account, UserAdmin)
# does noting
class AccountAdmin(admin.ModelAdmin):
inlines = [SubscriberInline, ]
#inlines = (SubscriberInline, )
@admin.register(models.Subscriber)
class SubscriberAdmin(admin.ModelAdmin):
list_display = ("first_name", "email",
"date_joined", "verified", "account")