我有一个AuthUser模型,我使用get_profile()
调用来获取有关用户的一些信息(忽略配置文件已被弃用的事实-我并没有真正将它们用作配置文件)。但是,有两种不同的概要模型(Student
和StaffMember
)都是抽象模型(SchoolPerson
)的子类。以下代码适用于django 1.6,但不再适用于django 1.8:
def get_profile(self):
for related in self._meta.get_all_related_objects():
if related.model.__base__.__name__ == 'SchoolPerson': # TODO - might we have non-SchoolPerson profiles?
try:
return getattr(self, related.get_accessor_name())
except ObjectDoesNotExist:
pass
raise ObjectDoesNotExist
有什么想法吗?你知道吗
看看文档的Migrating from the old API部分。它有例子。考虑将
MyModel._meta.get_all_related_objects()
替换为谢谢你的指点;这是我最后使用的。但仍然没有弄清楚当初失败的原因:-/
根据django1.8文档,
get_all_related_objects()
方法已经被弃用了,尽管这意味着它应该暂时还可以工作。。也就是说,您可以尝试更新从示例here中找到的所有不推荐使用的方法对于给定示例的
get_all_related_objects()
(复制并粘贴)这只是一个建议。告诉我你进展如何:D
相关问题 更多 >
编程相关推荐