你好有没有更好的方法来做到这一点?
reply = Post(created_by = request.user.customuser_related.all()[0])
我只需要 request.user 中的唯一一个customuser
对象,我不知道我是否应该做 acustomuser get(...)
而不是全部,但即便如此,似乎还有一种更有效的方法。
这一行应该足以解释我要完成的工作,但如果需要,我可以添加更多信息。谢谢
你好有没有更好的方法来做到这一点?
reply = Post(created_by = request.user.customuser_related.all()[0])
我只需要 request.user 中的唯一一个customuser
对象,我不知道我是否应该做 acustomuser get(...)
而不是全部,但即便如此,似乎还有一种更有效的方法。
这一行应该足以解释我要完成的工作,但如果需要,我可以添加更多信息。谢谢
如果您使用的是 1.6 的开发版本,则 QuerySet API 被扩展为一个first()
查询:
reply = Post(created_by = request.user.customuser_related.first())
如果没有,那么对 的相关查询CustomUserManager
可能是最干净的方法:
from django.core.exceptions import ObjectDoesNotExist
class CustomUserManager(models.Manager):
def for_user(user):
try:
return self.get(user=user)
except ObjectDoesNotExist:
return None
reply = Post(created_by = CustomUser.objects.for_user(request.user))