我正在开发一个django应用程序,我使用的是旧数据库。此数据库在任何表中都没有主键或约束。这是我的两个型号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'
我需要显示基于模型主表的,我需要显示的供应商,而不是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”:无效标识符
我不知道该错误是因为我没有数据库中的关系,或者如果我需要在视图中创建一个函数来显示名称而不是t他id_provider。 能给我一些片断或链接,我可以把一些想法来解决这个问题提前
感谢
是'id_provider'上'mpc_master'表中的实际列名? – 2014-09-04 20:53:54
是的,我使用Python manage.py inspectdb> models.py – Joseleg 2014-09-04 21:32:21
并将'Integer'列转换为'ForeignKey'? – 2014-09-04 21:36:21