0
我有以下模型,它基本上爲每個與特定用戶關聯的標籤存儲一個隨機散列值。使用Django Rest框架
class PublicTags(models.Model):
tag = models.ForeignKey(Tag, related_name='hashes')
hash_value = models.CharField(max_length=103)
user = models.ForeignKey(User, related_name='tags')
public = models.BooleanField(default=False)
class Meta:
unique_together = ('tag', 'user')
verbose_name_plural = 'Public Tag Hashes'
def __unicode__(self):
return u'%s: %s' % (self.tag, self.user, self.hash_value)
我試圖使用Django的REST框架做到以下幾點:
- 創建將在API/V1/public_tags訪問的視圖。
- 我將使用AJAX使用Django Rest API發佈數據。
- 在一篇文章中,系統執行以下操作: 它檢查標籤ID是否已有公共標籤行(通過發送發送) 如果不是,則會爲該標籤和用戶創建一個隨機hash_value。
我很困惑如何使用Django Rest Framework來完成這項任務。
我能走到今天:
class PublicTagView(RetrieveUpdateAPIView):
model = PublicTags
serializer_class = serializers.PublicTagSerializer
permission_classes = (IsAuthenticated,)
class RetrieveUpdateAPIView(mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
generics.SingleObjectAPIView):
"""
Concrete view for retrieving or updating a model instance.
FIXME: the newest version of rest_framework has this class
"""
def get(self, request, *args, **kwargs):
return self.retrieve(request, *args, **kwargs)
def put(self, request, *args, **kwargs):
return self.update(request, *args, **kwargs)
def create(self, request, *args, **kwargs):
return self.create(request, *args, **kwargs)