使用没有管理员权限的ForeignKeyRawIdWidget

时间:2013-04-25 02:22:46

标签: django widget foreign-keys lookup

在Django中,我有一个modelform,它有一个字段,它是一个具有300k行的模型的ForeignKey值。 SelectBox不能按此比例工作。

管理界面中的raw_id_fields / ForeignKeyRawIdWidget正是我想要的,我让它适用于我自己的表单,从参考链接借用示例:

from django.contrib import admin
admin.autodiscover()

from django.contrib.admin.widgets import ForeignKeyRawIdWidget
from django import forms

from .models import Post, Photo

class PostForm(forms.ModelForm):
    photo = forms.ModelChoiceField(
        Photo.objects.all(),
        widget=ForeignKeyRawIdWidget(Post._meta.get_field("photo").rel,admin.site)
    )

唯一的问题是foreignkey查找弹出窗口的url是     http://mydomain.com/admin/photo/photo/?t=id&pop=1 因此,这需要管理员权限才能访问。 我想允许普通用户能够搜索/填充外键。 我应该怎么做,将一些管理应用程序代码复制/粘贴到我自己的应用程序中?

我的问题与此类似,但他们没有提及有关管理员权限问题的任何内容: raw_id_fields for modelforms

提前谢谢!

0 个答案:

没有答案