簡體   English   中英

Django管理員內聯和AbstractUser

[英]Django Admin Inlines and AbstractUser

我在嘗試在admin.py中加入MtoM時遇到問題。 我不斷收到錯誤消息: <class 'demo.admin.CustomUserAdmin'>: (admin.E013) The value of 'fieldsets[2][1]["fields"]' cannot include the ManyToManyField 'groups', because that field manually specifies a relationship model.

#admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from app.forms import CustomUserCreationForm, CustomUserChangeForm
from app.models import User, GroupUser, RoleAssign

class GroupUserInline(admin.TabularInline):
    model = GroupUser

class CustomUserAdmin(UserAdmin):
    add_form = CustomUserCreationForm
    form = CustomUserChangeForm
    model = User
    inlines = [ GroupUserInline, ]

admin.site.register(User, CustomUserAdmin)

這些是我的模型:

#models.py
class Group(models.Model):
    name  = models.CharField(max_length=240)
    roles = models.ManyToManyField(Role, through='RoleAssign')

class User(AbstractUser):
    username   = models.CharField(max_length=240, blank=False, null=False, unique=True)
    password   = models.CharField(max_length=256, blank=False, null=False)
    email      = models.EmailField(max_length=256, blank=False, null=False, unique=True)
    S3         = models.TextField()
    groups     = models.ManyToManyField(Group, through='GroupUser')

class GroupUser(models.Model):
    user  = models.ForeignKey(settings.AUTH_USER_MODEL)
    group = models.ForeignKey(Group)

沒有人有任何詳細信息為什么我的內聯可能無法正常工作嗎? 還是我應該嘗試其他方法?

嘗試在GroupUserInline類中使用model = User.groups.through

在此處查看更多信息 ,我認為這可以為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM