Django模型未打印模型详细信息

2024-10-05 20:07:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django/python新手,我正在帮助团队迁移Django项目,因为安装的服务器需要迁移

旧版本

Django-1.6.5

Python-2.7

由于某些兼容性和版本不可用,低于我们迁移到的版本,并且能够在没有任何错误的情况下启动应用程序。有一些与不推荐使用的方法相关的编译错误,并且能够更正

迁移版本

Django-Django-1.6.5

Python–3.4

数据库–sqllite

枕头-枕头-3.3.0

PIP-PIP-1.5.4

除了管理模块外,其他一切看起来都很好。在主管理屏幕中,它只显示对象名称,而不是显示模块字段

位于迁移前用于显示的位置模型列表下方

位置

房间:A |橱柜:23 |抽屉:7

房间:A |橱柜:24 |抽屉:4

迁移后,它只显示位置对象名称

位置

位置对象

位置对象

我查看了model.py和定义的位置模型下方的内容

**类别位置(型号.型号):

room = models.CharField(max_length=31, 
                        help_text='(Required) e.g. A, B, C, D, E, F')

station = models.IntegerField(max_length=5, 
                        blank=True,
                        null=True,
                        help_text='e.g. 1, 2, ...')

cabinet = models.IntegerField(blank=True,
                              null=True,
                              help_text='e.g. 1, 2, ...')

shelf = models.IntegerField(blank=True,
                            null=True,
                            help_text='e.g. 1, 2, ...')

drawer = models.IntegerField(blank=True,
                             null=True,
                             help_text='e.g. 1, 2, ...')

map = models.ImageField(upload_to='location_maps', 
                        blank=True,
                        null=True)

class Meta:
    unique_together = (('room', 'station', 'cabinet' ,'shelf', 'drawer'),)


def __unicode__(self):
    string = 'Room: {}'.format(self.room)
    if self.station:
        string += ' | Station: {}'.format(self.station)
    if self.cabinet:
        string += ' | Cabinet: {}'.format(self.cabinet)
    if self.shelf:
        string += ' | Shelf: {}'.format(self.shelf)
    if self.drawer:
        string += ' | Drawer: {}'.format(self.drawer)
    return string*

在admin.py的配置下方


*来自django.contrib导入管理

从管理模型导入*

管理站点注册(位置)*


任何帮助都将非常感谢,因为我在admin.py中没有看到任何代码更改以进行任何更正

下表

*创建表“管理位置”(

"id" integer NOT NULL PRIMARY KEY,

"room" varchar(31) NOT NULL,

"station" integer,

"cabinet" integer,

"shelf" integer,

"drawer" integer,

"map" varchar(100),

UNIQUE ("room", "station", "cabinet", "shelf", "drawer")

)*


Tags: djangotextselftrueformatstringmodelshelp
2条回答

感谢穆罕默德,我试过了,然后模板开始出错

例如,我在不同的模板中遇到不同的错误,如下所示。我有不同的模型,所有不同的模型开始在编辑屏幕中给出与非字符串(类型项)相关的一个或另一个错误

错误1-当我单击历史记录时

*str返回的非字符串(类型项) 请求方法: 收到 请求URL: http://10.20.130.91:8000/admin/mgmt/equipment/S040942/history/ Django版本: 1.6.5 异常类型: 打字错误 异常值: str返回的非字符串(类型项)

异常位置: C:\Python34\lib\site packages\django\utils\encoding.py in force_text,第106行*

单击编辑时出现错误2

*位于/admin/mgmt/tooling/PRO102937的类型错误/ str返回的非字符串(类型项) 请求方法: 收到 请求URL: http://10.20.130.91:8000/admin/mgmt/tooling/PRO102937/ Django版本: 1.6.5 异常类型: 打字错误 异常值: str返回的非字符串(类型项)

异常位置: C:\Python34\lib\site packages\django\utils\encoding.py in force_text,第106行*

尝试将def __unicode__():替换为def __str__():作为

在Python2中,def __unicode__():被用来确定对象的可读表示形式,但在Python3中,它被def __str__():取代

相关问题 更多 >