感谢您花时间帮助我。
我对 django 和 python 还很陌生。
所以我有一个模型,我试图从另一个模型中提取一些数据来构建某种登陆页面。我试图让它在管理中完全可定制,但我发现为了我想做的事情,我将不得不涉及 AJAX。我已经放弃了这一点,并主要删除了管理自定义,因为这实际上只是针对我自己的个人网站。
总结一下总体目标:
我想从许多“图库”页面中提取第一张图片
我的“登陆”页面上的每个画廊都将是每个画廊的一张图片 画廊、标题和画廊网址。
这是我的模型的一部分: 类AggeragateImages(可订购):
aggeragate = models.ForeignKey("AggeragatePage", related_name="thumbnails")
gallery_titles = models.CharField(editable=False, max_length=1000)
gallery_slug = models.CharField(editable=False, max_length=1000)
def getGallery():
"""
Returns PK of all Gallery content type pages
"""
galleryPK = []
for e in Page.objects.filter(content_model='gallery'):
galleryPK.append(e.pk)
return galleryPK
galleryPK = getGallery()
for e in galleryPK:
gallery_titles = Gallery.objects.get(pk=e).titles
gallery_titles.save()
gallery_slug = Gallery.objects.get(pk=e).slug
gallery_slug.save()
def __unicode__(self):
return self.name
但是为什么我运行一个syncdb,我得到:AttributeError: 'unicode' object has no attribute 'save'
我也尝试通过交互式 shell 执行此操作,并且在调用“save()”时遇到相同的错误
我真的离基地很远吗?我非常感谢您的帮助。
最佳答案
问题出在:
gallery_titles = Gallery.objects.get(pk=e).titles
gallery_titles.save()
当您执行Gallery.objects.get(pk=e)
时,它会返回一个模型实例,但是随后您检索它的titles
属性,我猜这是一个字符串(unicode
)。因此,此时,gallery_titles
是一个您尝试在下一行保存的字符串,但是 unicode
类没有 save
方法导致错误。
顺便说一句,将逻辑代码直接放入类定义中可能不是最好的主意。您可以将逻辑纳入类方法中,这会更合适。当您在其定义中调用类方法时,您仍然定义了类属性。
关于python - 无法在 Django Model 中调用 save() ?获取: AttributeError: 'unicode' object has no attribute 'save' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14426854/