使用旧版数据库时,Django“未定义”对象没有属性ID

时间:2018-07-06 21:48:57

标签: python django mako

我有一个要与旧版数据库一起使用的django应用程序。

每当我尝试提取任何数据时,都会出现此错误:

'Undefined' object has no attribute 'id'

无论我赋予它什么属性,都会发生这种情况。

我确保使用./manage.py showmigrations迁移数据库中的所有内容。

这是我的观点:

from django_mako_plus import view_function
from django.conf import settings
from homepage.models import Users, MyTable

@view_function
def process_request():
    u = MyTable.objects.get(id=1)
    # print("User object: " + str(u.id))
    context = {
        'u':u,
    }
    # django mako plus changes the way you render a template
    return request.dmp.render('test-delete.html', context)

这是我的模板:

<%inherit file="base.htm"/>
<%block name="header">
</%block>
<%block name="content">
    <!-- DMP Changes the syntax here too. Default django is {{u.id}} but dmp is {u.id} -->
    ${u.id}
</%block>

这是我的模特:

class MyTable(models.Model):
    p_number = models.TextField(db_column='P NUMBER', blank=True, null=True)  # Field name made lowercase. Field renamed to remove unsuitable characters.
    id = models.IntegerField(primary_key=True)

    class Meta:
        db_table = 'my_table'

我的模型是使用python manage.py inspectdb > models.py

生成的

我认为是由于django无法检索MyTable对象而发生错误,所以如何让django来获取它并显示数据?

谢谢您的帮助。

0 个答案:

没有答案