如何解决django从管理页面中的另一个模型中填充模型字段,而没有ForeignKey
我在MysqL中有两个表,下面是两个表的创建语句。
CREATE TABLE `test` (
`id` INT(11) NOT NULL AUTO_INCREMENT,`reportname` VARCHAR(50) NULL DEFAULT NULL,PRIMARY KEY (`id`)
);
CREATE TABLE `test1` (
`id` INT(11) NOT NULL AUTO_INCREMENT,`User ID` VARCHAR(30) NOT NULL,`Report` VARCHAR(20) NOT NULL,PRIMARY KEY (`id`)
);
下面是models.py的代码
class Test(models.Model):
reportname = models.CharField(db_column='reportname',max_length=50)
class Meta:
managed = False
db_table = 'test'
class Test1(models.Model):
ACTION_CHOICES =(
( 'report1','report1' ),( 'report2','report2' ),( 'report3','report3'),)
user_id = models.CharField(db_column='User ID',max_length=30)
report = models.CharField(db_column='Report',max_length=20,choices=ACTION_CHOICES)
def __unicode__(self):
return self.user_id
class Meta:
managed = False
db_table = 'test1'
下面是admin.py的代码:
class Test1Admin(admin.ModelAdmin):
search_fields = ['user_id']
list_display = ('user_id','report')
def get_search_results(self,request,queryset,search_term):
queryset,use_distinct = super(Test1Admin,self).get_search_results(
request,search_term)
search_words = search_term.split(";")
if search_words:
q_objects = [Q(**{field + '__icontains': word.strip()})
for field in self.search_fields
for word in search_words]
queryset |= self.model.objects.filter(reduce(or_,q_objects))
return queryset,use_distinct
admin.site.register(Test1,Test1Admin)
现在,我想要的是Test1模型中的报告下拉列表,该报告当前来自于ACTIVE_CHOICES,来自于管理模型中的Test Model中的报告名称,如下面的屏幕快照所示。
如果需要更多信息,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。