如何创建Django后的方法

时间:2019-01-30 08:35:33

标签: python django

我已经练习过list,并在viewset views.py中进行检索,但是当我使用create时,使用它是很奇怪的,这是我的模型:

remind.py

class Remind(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    variant = models.ForeignKey(Variant, on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True, blank=True)
    updated_at = models.DateTimeField(auto_now_add=True, blank=True)
    deleted_at = models.DateTimeField(null=True, blank=True)

    class Meta:
        db_table = "remind"

variant.py

class Variant(models.Model):
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    size = models.CharField(max_length=5, null=True, blank=True)
    price = models.IntegerField(default=0)
    quantity = models.IntegerField(default=0)
    color = models.CharField(max_length=20, null=True, blank=True)
    image_link = models.ImageField(
        upload_to=get_image_path,
        blank=True,
        null=True,
        max_length=50000)
    created_at = models.DateTimeField(auto_now_add=True, blank=True)
    updated_at = models.DateTimeField(auto_now_add=True, blank=True)
    deleted_at = models.DateTimeField(null=True, blank=True)

    class Meta:
        db_table = "variant"

我只想检查变量表中的数量是否== 0,我将获得user.id(登录名)和variant.id,并在“提醒表”中创建

这是我获取user.id的方式:

user = get_object_or_404(User,pk = request.user.id) 这是我的views.py代码:

class RemindViews(viewsets.ViewSet):
    def create(self, request, pk=None):
        user = get_object_or_404(User, pk=request.user.id)
        remind = Remind.objects.create(user=user.id, variant=pk)
        serializer = RemindSerializer(remind, many=True)
        return Response(serializer.data)

我的serializer.py:

class RemindSerializer(serializers.ModelSerializer):
    class Meta:
        model = Remind
        fields = '__all__'

IDK如何表达条件查询(使用django查询)以及在serializer.py中,你们可以向我展示views.py和serializer.py中的代码吗?

0 个答案:

没有答案