当我按外键字段排序时出现分页错误 - 它对第一页进行排序就好了,但当我尝试转到任何其他页面时,会显示错误:'无效的列名称位置代码&# 39 ;.据我所知,它试图通过一个不存在的字段对第二页进行排序;我想知道如何解决它。
class Location(models.Model):
locationid = models.AutoField(primary_key=True,db_column=u'LocationID')
name = models.CharField(max_length=50, db_column=u'Name')
def location_code(self):
return self.locationdetail.locationcode
location_code.admin_order_field = 'locationdetail__locationcode'
location_code.short_description = 'Location Code'
class Locationdetail(models.Model):
locationid = models.OneToOneField('Location',primary_key=True, db_column=u'LocationID')
glcode = models.CharField(max_length=10, db_column=u'GLCode')
locationcode = models.CharField(max_length=10, db_column=u'LocationCode')
class LocationAdmin(admin.ModelAdmin):
list_display = ["location_code", "name",]
list_display_links = ('location_code','name',)
答案 0 :(得分:0)
通过更改模型架构可能最有效。在我看来,您在Locationdetail类中执行的任何操作都不需要将信息存储在单独的模型中。如果您这样做是为了更容易地渲染表单,您可能希望合并这些模型并在视图中对任何逻辑进行排序。这将使您更好地控制分页和对象排序。