【发布时间】:2015-09-30 18:11:56
【问题描述】:
我正在使用带有 Restframework 的 Django,并且我想更新某个对象。我有以下型号:
class PromotionalCode(models.Model):
promotional_code = models.CharField(max_length=10, default=random_with_letters(), unique=True)
myuser = models.ForeignKey('MyUser', related_name='promotional_code_user', blank=True, null=True)
promotion_type = models.PositiveIntegerField(default=1)
time_transaction = models.DateTimeField(default=datetime.now())
used = models.BooleanField(default=False)
以下视图集:
class UpdateOnlyDetailViewSet(mixins.UpdateModelMixin,
viewsets.GenericViewSet):
pass
以下观点:
class PromotionalCodeViewSet(UpdateOnlyDetailViewSet):
queryset = PromotionalCode.objects.all()
serializer_class = PromotionalCodeSerializer
permission_classes = (IsOwnerOrReadOnly,)
它有以下网址:
router = DefaultRouter()
router.register(r'promotionalcode', views.PromotionalCodeViewSet)
我只能在访问时更新 Promotionalcode 对象
/promotionalcode/code_id
我想在访问时更新某个代码
/促销代码/
不指定 id。我需要做什么?
【问题讨论】:
-
如果没有 id,您打算如何确定要更新的对象?
-
选择与介绍的促销代码相匹配的促销代码
标签: python django django-models django-views django-rest-framework