谢谢你抽出时间来帮我。在
我对django和python还很陌生。在
所以我有一个模型,我试图从另一个模型中提取一些数据来构建一个登录页面。我试图让它在管理中完全可定制,但我发现为了我想要做的事情,我不得不使用AJAX。我已经取消了这一点,并采取了主要删除管理员定制,因为这真的只是我自己的个人网站。在
因此,概括一下总体目标:
我想从许多“图库”页面中提取第一幅图像
在我的“登陆”页面上的每个图库将是一个单独的图像 库、标题和指向库的url。
这是我模型的一部分: 类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”对象没有属性“save”
我还尝试通过交互式shell来执行此操作,在调用“save()”时也会遇到相同的错误
我真的离基地很远吗?我真的很感谢你的帮助。在
问题在于:
当您执行
Gallery.objects.get(pk=e)
操作时,它会返回一个模型实例,但是随后您将检索它的titles
属性,我猜是一个字符串(unicode
)。所以在这一点上,gallery_titles
是一个陷阱,您试图在下一行中保存它,但是unicode
类没有导致错误的方法save
。在顺便说一句,把逻辑代码直接放在类定义中可能不是最好的主意。您可以将您的逻辑分解到类方法中,这将更加合适。当您在类方法的定义内调用它时,您仍然在定义一个类属性。在
相关问题 更多 >
编程相关推荐