【发布时间】:2014-09-04 20:31:00
【问题描述】:
我正在开发一个使用旧数据库的 django 应用程序。该数据库在任何表中都没有主键或约束。这是我的两个模型
class Provider(models.Model):
id_provider = models.IntegerField(blank=True, null=True, primary_key=True)
name = models.CharField(max_length=50, blank=True)
type = models.CharField(max_length=10, blank=True)
signed = models.CharField(max_length=15, blank=True)
currency = models.CharField(max_length=1, blank=True)
class Meta:
managed = False
db_table = 'mpc_proveedores'
class Master(models.Model):
id_provider = models.ForeignKey(Proveedor)
anio = models.IntegerField(blank=True, null=True)
mes = models.IntegerField(blank=True, null=True)
nombre_prov = models.CharField(max_length=50, blank=True)
tipo_conci = models.CharField(max_length=30, blank=True)
f_recepcion = models.DateField(blank=True, null=True)
e_recepcion = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'mpc_master'
我需要显示一个基于模型 Master 的表格,并且我需要显示提供者的名称而不是 id_provider。
这是我的看法
def monitorViewV2(request):
table = MonitorTable(Master.objects.all())
RequestConfig(request).configure(table)
return render(request,'monitorv2.html',{'table': table})
当我尝试在浏览器中查看模板时,显示下一个错误
ORA-00904: "MPC_MASTER"."ID_PROVIDER_ID": 标识符无效
不知道这个错误是因为我在数据库中没有关系还是我需要在视图中创建一个函数来显示名称而不是id_provider。 你能给我一些 sn-p 或链接,我可以在其中提出一些想法来解决这个问题
提前致谢
【问题讨论】:
-
id_provider是mpc_master表上的实际列名吗? -
是的,我使用 Python manage.py inspectdb > models.py
-
并将
Integer列转换为ForeignKey?
标签: django django-models django-views