Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模型未打印模型详细信息_Python_Django_Model_Admin - Fatal编程技术网

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

Python Django模型未打印模型详细信息,python,django,model,admin,Python,Django,Model,Admin,我是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 除了管理模块外,其他一切看起来都很好。在主管理屏幕

我是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和定义的位置模型下方的内容 **课程位置(models.Model):


在admin.py的配置下方


*从django.contrib导入管理

从管理模型导入*

管理站点注册(位置)*


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

下表

*创建表“管理位置”(


)*

尝试将
def\uuuu unicode\uuu():
替换为
def\uu str\uu():
as


在Python2中,
def\uu unicode\uuuuuo():
用于确定对象的可读表示形式。但在Python3中,它已被替换为
def\uu str\uuo():

谢谢Muhammad,我已经尝试过了,然后模板开始给出错误

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

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

*str返回的非字符串(类型项) 请求方法: 得到 请求URL: 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: Django版本: 1.6.5 异常类型: 打字错误 异常值: str返回的非字符串(类型项)

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

Update:当我尝试在model.py中使用以下代码时,它会显示名称。def str__;(self):返回self.id。但是,当我们试图编辑项目或单击显示编辑管理员屏幕TypeError(位于/admin/mgmt/equipment/S040942/u_ustr)时,它开始出现以下错误。返回的非字符串(类型项目)抱歉,忘了说。还请将最后一行
return string*
更改为this
return self.string
,因为它是一个类变量。如果仍然出现相同的错误,请尝试键入此字符串,如
returnstr(self.string)
再次感谢穆罕默德。在每个模型中,都有不同的数据类型、文件、列表、日期等。因此,在返回中,我应该转换每个字段吗?当前代码只返回id。因此,当我使用下面的代码时,它仍然会给出错误->def\uu str\uuuuu(self):return str(self.id)或我是否需要在admin.py中进行任何修改。我的admin.py看起来就像admin.site.register(InventoryUser)admin.site.register(Tooling)admin.site.register(device)admin.site.register(DvtSample)hi Dais,我已经尝试了
return str(self.id)
,效果很好。首先,
\uuu str\uuu()
必须始终返回字符串,并且不应在
\uuu str\uuu()
中返回列表或Dict。作为管理员,需要一个字符串属性。所以,不用返回一个列表,你可以返回连接字符串,它会工作得很好。感谢穆罕默德,它开始工作了。非常感谢你的帮助
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*
"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")