任何人都可以为django-ajax-selects发布最简单的示例吗?只有一个带有字段和表单的模型,可用于根据该字段选择此模型的实例(不是在管理员表单中,而是在用户表单中)。
我尝试阅读该项目的文档,但发现它很难理解......另外,我无法使示例应用程序工作(无法找出标签是什么???):(
另外,如果您认为有比 django-ajax-selects 更简单的解决方案,请告诉我。
谢谢!
任何人都可以为django-ajax-selects发布最简单的示例吗?只有一个带有字段和表单的模型,可用于根据该字段选择此模型的实例(不是在管理员表单中,而是在用户表单中)。
我尝试阅读该项目的文档,但发现它很难理解......另外,我无法使示例应用程序工作(无法找出标签是什么???):(
另外,如果您认为有比 django-ajax-selects 更简单的解决方案,请告诉我。
谢谢!
这是一个简单的示例(来自 github 上的示例,但未经测试):
模型.py:
class Person(models.Model):
name = models.CharField(blank=True, max_length=100)
email = models.EmailField()
def __unicode__(self):
return self.name
class Group(models.Model):
name = models.CharField(max_length=200,unique=True)
members = models.ManyToManyField(Person,blank=True,help_text="Enter text to search for and add each member of the group.")
def __unicode__(self):
return self.name
表格.py:
class GroupForm(ModelForm):
class Meta:
model = Group
members = make_ajax_field(Release,'members','person')
查找.py:
class PersonLookup(LookupChannel):
model = Person
def get_query(self,q,request):
return Person.objects.filter(name__icontains=q).order_by('name')
def get_result(self,obj):
return obj.name
def format_match(self,obj):
return self.format_item_display(obj)
def format_item_display(self,obj):
return u"%s" % escape(obj.name)
设置.py:
AJAX_LOOKUP_CHANNELS = {
'person' : ('example.lookups', 'PersonLookup'),
}
视图.py:
class Create(generic.CreateView):
template_name = "create.html"
form_class = GroupForm
success_url = 'create'
create = Create.as_view()
网址.py:
urlpatterns = patterns('',
url(r'^create', view='views.create',name='create'),
url(r'^ajax_lookup/(?P<channel>[-\w]+)$', 'ajax_select.views.ajax_lookup', name = 'ajax_lookup'),
)
您应该通过快速安装指南开始。
本文档中的标签是一个示例模型,就像它可以是汽车、小部件,以及您拥有和想要的任何模型。