Я использую Django 1.5 .
У меня есть таблица MultiUser
class MultiUser(models.Model):
user = models.ForeignKey(User, related_name='owner_user')
shared_user = models.ForeignKey(User, related_name='shared_user')
access_level = models.CharField(
default='Viewer',
max_length='100',
blank=True
)
Эта таблица отображает пользователей с уровнем доступа нижевладелец пользователя.Поле user
определяет пользователя-владельца, а shared_user
- сопоставленного пользователя, который может быть либо manager , либо viewer
Я определил метод менеджера моделей для получениясписок всех пользователей, включая пользователя-владельца.
def getSharedUsers(self, user):
# Get owner
owner = None
if self.filter(user=user).exists():
owner = user
elif self.filter(shared_user=user).exists():
owner = self.filter(shared_user=user)[0]
# Get all users
shared_users = []
if owner:
shared_users = self.filter(user=owner)
shared_users.append({
'shared_user': owner,
'access_level': 'OWNER',
'created': owner.created
})
return shared_users
Поскольку пользователь-владелец не определил access_level
в модели MultiUser .Я хочу вручную добавить пользователя-владельца в список наборов запросов с полем shared_user
, установленным для пользователя-владельца, и access_level
в качестве владельца .
Но это выдает ошибку как
'QuerySet' object has no attribute 'append'
Можно ли добавить созданный вручную объект в объект набора запросов?Если да, то как?