Django - 访问foreignkey的属性

时间:2014-02-26 01:14:50

标签: python django django-models django-queryset

我正在使用Django通用用户模型,我还添加了这个额外的模型:

class UserImages(models.Model):
    user = models.ForeignKey(User)
    photo = models.ImageField(upload_to=get_file_path)

现在,我的用户名是

testUser

我想访问testUser,看看所有照片的testUser有什么,并删除testUser的所有照片。我想在python shell中这样做。我在想这样做:

python manage.py shell

from app.models import UserImages
a = UserImages(user=testUser)
a.photo.all.delete()

但是当我尝试做的时候

a = UserImages(user=testUser)

a = UserImages(user__username=testUser)

它出错了

name 'testUser' is not defined

。如何将变量'a'作为testUser对象?

1 个答案:

答案 0 :(得分:1)

您需要获取auth.User对象:

>>> from django.contrib.auth.models import User
>>> testUser = User.objects.get(username='testUser')
>>> from app.models import UserImages
>>> a = UserImages(user=testUser)

或仅在查询UserImages时传入字符串:

>>> a = UserImages(user__username='testUser')