首页 > 解决方案 > 当尝试使用 django 模型访问 mysql 视图时,它会引发错误

问题描述

我想使用 django 过滤器访问 mysql 视图中的记录,但它会引发错误

class PartnerPayBillSummaryDetails(models.Model):
    invoice_no = models.CharField(max_length=200)
    invoice_id = models.IntegerField()
    partner_id = models.IntegerField()
    partner_name = models.CharField(max_length=100)
    status = models.CharField(null=False, max_length=50)
    invoice_date = models.DateField()
    bill_received_date = models.DateField()
    due_date = models.DateField()
    due_date_ageing = models.IntegerField()
    payable_amount = models.DecimalField(max_digits=20, decimal_places=2, default=0)

    class Meta:
        managed = False
        db_table = '66_1_partner_pay_bill_ageing_dtl'
try:
    p = PartnerPayBillSummaryDetails.objects.all()
    print(p)
except Exception as e:
    print(e)

错误:

OperationalError: (1054, "Unknown column '66_1_partner_pay_bill_ageing_dtl.id' in 'field list'")

标签: pythonmysqldjangodjango-models

解决方案


您必须向模型添加主键。

id = models.AutoField(primary_key=True)

或将任何列设为主键,例如:

invoice_id = models.IntegerField(primary_key=True)

推荐阅读