Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django 2型号,在admin.py中有多个ManyToManyField_Python_Django_Django Admin - Fatal编程技术网

Python Django 2型号,在admin.py中有多个ManyToManyField

Python Django 2型号,在admin.py中有多个ManyToManyField,python,django,django-admin,Python,Django,Django Admin,我在models.py中有以下内容: class Choices(models.Model): description = models.CharField(max_length=300) def __unicode__(self): return self.description class UserProfile(models.Model): user = models.ForeignKey(User, unique=True) fulln

我在models.py中有以下内容:

class Choices(models.Model):
    description = models.CharField(max_length=300)

    def __unicode__(self):
        return self.description

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    fullname = models.CharField(_('Full Name'), max_length=50)
    birthdate = models.DateTimeField(_('Birthday'))
    url = models.URLField(_('Website'), blank=True)
    company = models.CharField(_('Company'), max_length=50)
    CATEGORY_CHOICES = (
            ('M',_('Male')),
            ('F',_('Female')),
            )
    gender = models.CharField(_('Gender'), max_length=200, choices = CATEGORY_CHOICES)
    picture = models.ImageField(_('Picture/Avatar'), upload_to='profile_photo', blank=True)
    bio = models.TextField()
    planguages = models.ManyToManyField(Choices)
现在,我希望能够在管理中编辑用户配置文件,以及填充用户在创建配置文件时可以选择的选项。作为一个django新手,我只为编辑用户配置文件做了一些选择,但没有填充选择。无论如何,我能做到,但我不知道如何两者兼得

编辑: 这是我现在的管理员

class ChoicesAdmin(admin.ModelAdmin):
    list_display = ['description']

class ProfilesAdmin(admin.ModelAdmin):
    list_display = ['user']

admin.site.register(UserProfile, ProfilesAdmin)

在文档中查找内联线。

您要查找的是
filter\u horizontal

class ChoicesAdmin(admin.ModelAdmin):
    list_display = ['description']

class ProfilesAdmin(admin.ModelAdmin):
    list_display = ['user']
    filter_horizontal = ['planguages']

admin.site.register(UserProfile, ProfilesAdmin)
admin.site.register(Choices, ChoicesAdmin)
这将允许您向用户添加语言


另外,您必须注册ChoicesAdmin类才能看到添加选项的绿色+链接。

我注册了,并且我成功地注册了,但它显示的是与用户相关的选项,而不是我可以定义的选项。@user1164124-如果您为
选项设置了
模型管理员
,您的
planguages
字段旁边会有一个加号图标,它将带您进入“选项创建”屏幕。@YujiTomita我试过了,但它说许多字段不受支持。@Milos,胡说!注册
ChoicesAdmin
你会看到你的绿色加号。@YujiTomita,我可以注册
admin.site.Register(UserProfile,ProfilesAdmin),但是我不能编辑用户配置文件