关于冰场的问题

2024-04-24 12:46:54 发布

您现在位置:Python中文网/ 问答频道 /正文

碰巧我不得不使用PostgreSQL的数组。在Django中,模型没有对数组的本机支持,所以我使用了django_arrayfields。但是对于在管理中显示,我应该使用hoprizontal\u filter IntegerArrayField字段。你知道吗

你知道吗型号.py你知道吗

class Group(models.Model): 
    name = models.TextField()

class User(models.Model):
    name = models.TextField()
    groups = IntegerArrayField()

你知道吗管理员.py你知道吗

class GroupAdminForm(forms.ModelForm):
    groups = forms.ModelMultipleChoiceField(
    queryset=Group.objects.all(), 
    label=('Select groups'),
    required=True,
    widget=FilteredSelectMultiple(
        ('groups'),
        False,
))

class UserAdmin(admin.ModelAdmin):
    fields = ('groups',)
    form = GroupAdminForm

因此,此小部件将显示并正常工作。但是在维护写操作时,不能调整类型“QuerySet”。你知道吗

请帮忙!!!你知道吗

升级版本: 字段POST variable groups中的请求信息的值仅对应于所选组的最后一个id。而不是我所期望的数组。你知道吗


Tags: djangonamepy模型modelmodelspostgresqlgroup
2条回答

如果没有一个正确的错误/回溯就无能为力。你知道吗

对于更新点,请记住,如果需要多个值,则需要执行request.POST.getlist(fieldname)。你知道吗

所以,首先我们需要把这些东西分开:

管理员.py

 from .forms import GroupAdminForm
class UserAdmin(admin.ModelAdmin):
    fields = ('groups',)
    form = GroupAdminForm

表单.py

class GroupAdminForm(forms.ModelForm):
    groups = forms.ModelMultipleChoiceField(
    queryset=Group.objects.all(), 
    label=('Select groups'),
    required=True,
    widget=FilteredSelectMultiple(
        ('groups'),
        False,
))

这样做,并张贴您的跟踪错误,这是很难帮助没有日志或错误描述。你知道吗

相关问题 更多 >