这是models.py的片段
class Applicant(models.Model):
name = models.CharField(...)
email = models.CharField(...)
class Application(models.Model):
applicant = models.ForeignKey(Applicant)
text = models.TextField(...)
Run Code Online (Sandbox Code Playgroud)
这是我的admin.py:
class ApplicationAdmin(model.ModelAdmin):
list_display = ['text', *******]
admin.site.register(Application, ApplicationAdmin)
Run Code Online (Sandbox Code Playgroud)
在ApplicationAdmin中,我想提交申请人姓名和电子邮件.
在问SO之前你有什么尝试?
我查看了以下代码,但不起作用:
list_display = ['text', 'applicant__name','applicant__email']
Run Code Online (Sandbox Code Playgroud)
我看过ModelAdmin.inlines但是可以看出,父/子关系必须颠倒过来.
有什么建议?如何在"应用程序"管理员中显示申请人姓名/电子邮件.可以使用新字段等迁移数据库.
当输入字符串与结果字符串匹配时,自动完成功能起作用,但在其他情况下不起作用。数据已成功从JSON中检索。
我想用JSON数据动态编辑自动完成的源内容。
当搜索字符串匹配first_name和last_name字段时,以下方法有效。
但是JSON网址返回的更多,例如,在搜索用户名时,它仍返回正确的数据。但这在自动完成功能中并未显示,我的理论是自动完成功能UI会强制“输入值”与“结果值”相同。
[
{"pk": 1012912, "fields": {"first_name": "Barack", "last_name": "Obama"}},
{"pk": 1017519, "fields": {"first_name": "George", "last_name": "Bush"}}
]
Run Code Online (Sandbox Code Playgroud)
如您所见,结果集是由搜索功能设置的。
$('#search').autocomplete({
source: [],
search: function(event, ui){
results = [];
var json = jQuery.getJSON('http://jsondata.com?query='+event.target.value, function(data){
for (var i=0; i<data.length; i++){
results.push(data[i].fields.first_name + ' ' +data[i].fields.last_name);
};
}).success(function(){
$('#search').autocomplete('option', 'source', results);
//The following debug proves that the 'results' are correct, even on search for usernames
console.log(results);
});
},
});
Run Code Online (Sandbox Code Playgroud)
如果在#search字段中搜索“ Barack Obama”,我会得到结果,没问题。但是,如果说巴拉克·奥巴马(Barack Obama)的用户名是“ baracko”,并且我搜索他的用户名,那么我会从JSON和结果数组(如我用console.log进行检查)中获得正确的结果,但未显示结果。
有人知道为什么吗? …
jquery jquery-ui autocomplete jquery-autocomplete jquery-ui-autocomplete