在Models.py中使用Oracle View时遇到问题

时间:2018-03-07 19:16:13

标签: python django oracle

我的小组和我正在尝试重写我们的网站。我们保留了一个Oracle数据库后端,并用Python Django重写了前端。

连接到Oracle或访问数据表没问题。现在我尝试将一个Oracle视图添加到models.py中,但我无法使其工作。

我用很多结果搜索了这个问题,所以我知道它有可能并且显然很常见,但我无法让它发挥作用。

到目前为止,我所做的只是将类添加到models.py中。我们使用PhCharm作为我们的IDE。

当我尝试使用Python控制台访问数据时,我可以导入该类,但是当我尝试加载QuerySet时,我收到错误"无法获取#34;在结果窗口中。

有没有人看到我的模特中缺少的东西?

以下是模型:

class LawBillRoleActionInfoView(LawBaseClass):
    combo_id = models.AutoField(primary_key=True)
    rltp_role_cd = models.CharField(max_length=2, blank=True)
    bill_dft_no = models.CharField(max_length=6, blank=True)
    session_id = models.IntegerField(blank=True, null=True)
    ebrl_appl_seq = models.IntegerField(blank=True, null=True)
    enty_id_seq = models.IntegerField(blank=True, null=True)
    lst_nm = models.CharField(max_length=100, blank=True)
    fst_nm = models.CharField(max_length=40, blank=True)
    mi = models.CharField(max_length=1, blank=True)
    entity = models.CharField(max_length=145, blank=True, null=True)
    prtydist = models.CharField(max_length=11, blank=True, null=True)
    blac_appl_seq = models.IntegerField(blank=None, null=True)
    role_descr = models.CharField(max_length=80, blank=True)
    shr_ttl = models.CharField(max_length=80, blank=True)
    lmt_ind = models.CharField(max_length=1, blank=True)
    bltp_bill_typ_cd = models.CharField(max_length=2, blank=True)
    bill_no = models.IntegerField(blank=True, null=True)
    actn_descr = models.CharField(max_length=80, blank=True)
    actn_dt = models.DateField(blank=True, null=True)
    sess_law_chpt_no = models.IntegerField(blank=True, null=True)

class Meta:
    managed = False
    db_table = 'law_bill_role_action_info_vw'
    unique_together = (('bill_dft_no', 'rltp_role_cd', 'session_id'),)
    app_label = 'laws'

以下是我从Python控制台运行的命令:

from laws.models import LawBillRoleActionInfoView
bill_qs = LawBillRoleActionInfoView.objects.all()

这是LawBaseClass:

基类

class LawBaseClass(models.Model):
    """
    Base class
    """
    created_by = models.CharField(max_length=30, blank=True, null=True)
    dtm_created = models.DateField(blank=True, null=True)
    mod_by = models.CharField(max_length=30, blank=True, null=True)
    dtm_mod = models.DateField(blank=True, null=True)

class Meta:
    managed = False
    abstract = True

0 个答案:

没有答案