django db_table不会改变

时间:2017-09-25 14:33:01

标签: python mysql django

您好我创建了一个动态表模型,每当我从模板中创建的列表中选择另一个表时它就不会改变... 如果我选择第一个表来查看它的数据,然后返回列表并选择第二个表我得到此错误

InternalError: (1054, u"Unknown column 'table_name1.id' in 'field list'")

因此,当我从http://127.0.0.1:8000/tables/id=1更改为http://127.0.0.1:8000/tables/id=2时,它会给我错误。

但是,如果我重新启动服务器并直接进入 http://127.0.0.1:8000/tables/id=2它有效。

但现在http://127.0.0.1:8000/tables/id=1它不起作用。

这是 views.py

的一方
def addview(request, pk):
    table_name = Crawledtables.objects.get(id=pk)
    print table_name
    AllTables._meta.db_table = table_name.name
    print AllTables._meta.db_table
    tbl_detail = AllTables.objects.all()
    print tbl_detail

    return render(request, 'tables/table_list.html', {'details': tbl_detail})

这些印刷品只是用于测试而且它们有效。 它打印出我选择的正确表格。 但是当我进入我选择的第二张桌时,它不会打印tbl_detail。只有当我重新启动服务器时。

CrawledTables保存该DB中的所有表名,并包含每个表的创建日期。我得到了CrawledTables的表名,并将其放在 AllTables._meta.db_table 中。

AllTables访问数据库中的所有表(相同结构,每个表中包含不同数据的不同表名)

每次进入选定的表格时,是否需要清除db_table? 我已正确完成所有迁移。

请帮帮我。提前谢谢。

0 个答案:

没有答案