外键的外键在管理员更改表格中不可用

时间:2013-01-16 15:34:58

标签: django django-admin

我的架构:

class Component():
  comp_id = models.CharField('Component ID', primary_key=True, db_column='comp_id')
  path = models.CharField('Path')

  def __unicode__(self):
    return self.path

class Configuration():
  config_id = Models.AutoField('Config ID', db_column='config_id', primary_key=True)
  component = models.ForeignKey('Component', db_column='component')
  org_id = models.Integer.Field('Org ID')

  def __unicode__(self):
    return "{} + {}".format(self.org_id, self.component)

class Result():
  result_id = Models.AutoField('Result ID', db_column='result_id', primary_key=True)
  config = models.ForeignKey('Configuration', db_column='config')

在Result的更改表单中,我希望配置外键由下拉列表示。但相反,页面将不会呈现,并且我收到DatabaseError异常,并显示以下消息:“尝试启动新的SQL Server操作且结果处于挂起状态”。我认为正在发生的是,Result.config下拉列表正在尝试解析配置的unicode表示,但这意味着更深入一个外键级别来解析相关组件的unicode,数据库将不允许它。有人看到这个错误的方法吗?

1 个答案:

答案 0 :(得分:0)

事实证明我的安装依赖于MS SQL Server的自定义数据库后端,我需要编辑它的base.py文件以在DatabaseFeatures类中包含以下行:

can_use_chunked_reads = False