Использование замечательного джанго-тастпи.
Мое приложение имеет концепцию документа (т.е. слово doc).Есть один владелец документа и много редакторов.Редакторы могут добавлять комментарии.
Я хочу проверить, есть ли у редактора разрешения на документ, прежде чем они смогут отправить комментарий.Однако я не могу понять, как выполнить эту проверку с помощью tastpie.
Вот мой код, немного упрощенный:
# models.py
class Document(models.Model):
doc_text = models.TextInput()
owner = models.ForeignKey(User)
editor_group = models.ForeignKey(EditorGroup)
class EditorGroup(models.Model):
name = models.CharField()
user = models.ManyToManyField(User)
class Comment(models.Model):
comment = models.CharField()
user = models.ForeignKey()
document = models.ForeignKey()
-
# api.py
class CommentResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user')
class Meta:
queryset = Comment.objects.all()
resource_name = 'comments'
authorization= DjangoAuthorization()
def obj_create(self, bundle, request, **kwargs):
# What code can I put here to check if the Editor is in the
# EditorGroup
return super(AnswerResource, self).obj_create(bundle, request, user=request.user)
ЕслиРедактор просматривает документ и отправляет комментарий. Я хочу убедиться, что они являются частью EditorGroup, прежде чем я позволю им создать комментарий.
Я рассмотрел использование obj_create для этого, но не уверен, как получить доступ к объекту Document, чтобы увидеть, является ли Editor (который теперь request.user) частью EditorGroup.
Также не уверен, является ли obj_create правильным местом для выполнения этой проверки.
Любая помощь будет принята с благодарностью!