Python 我想更新我创建的模型。但是,我想通过模型的id来实现这一点
我想根据id号更新我的型号。我该怎么做? 我可以更新模型,但我想通过id进行更新 另一个问题是,我只希望创建者能够更新模型 Model.py 序列化程序## view.py## url.py##Python 我想更新我创建的模型。但是,我想通过模型的id来实现这一点,python,django,django-models,django-rest-framework,django-views,Python,Django,Django Models,Django Rest Framework,Django Views,我想根据id号更新我的型号。我该怎么做? 我可以更新模型,但我想通过id进行更新 另一个问题是,我只希望创建者能够更新模型 Model.py 序列化程序## view.py## url.py## url(r'^UpdatedVerticesta/(?P[-\w]+)/$),UpdatedVerticesta.as_view()), 我自己又解决了这个问题 当我向视图模型添加以下函数时,我们只能更新属于登录用户的模型。 我们通过以下功能选择自动登录的用户## view.py## class
url(r'^UpdatedVerticesta/(?P[-\w]+)/$),UpdatedVerticesta.as_view()),
我自己又解决了这个问题
当我向视图模型添加以下函数时,我们只能更新属于登录用户的模型。
我们通过以下功能选择自动登录的用户##
view.py##
class Advertise(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
title = models.CharField(max_length=100, verbose_name="ilan başlığı")
description = models.TextField(max_length=500, verbose_name="ilan açıklaması")
price = models.PositiveIntegerField(default=0, verbose_name="Fiyat")
square_meter = models.PositiveIntegerField(default=0, verbose_name="Metrekaresi")
number_of_rooms = models.PositiveIntegerField(choices=NumberOfRoomsChoices.CHOICES,
verbose_name="Oda sayısı")
building_age = models.PositiveIntegerField(choices=NumberOfBuildingAgeChoices.CHOICES,
verbose_name="Bina Yaşı")
floor = models.PositiveIntegerField(choices=NumberOfFloorChoices.FLOOR_CHOICES,
verbose_name="Bulunduğu Kat")
class AdvertiseMainSerializer(ModelSerializer):
class Meta:
model = Advertise
fields = '__all__'
class UpdateAdvertiseData(UpdateAPIView):
serializer_class = AdvertiseMainSerializer
queryset = Advertise.objects.all()
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
url(r'^UpdateAdvertiseData/(?P<pk>[-\w]+)/$', UpdateAdvertiseData.as_view()),
def get_queryset(self):
return self.queryset.model.objects.filter(owner=self.request.user)
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
class UpdateAdvertiseData(RetrieveUpdateAPIView):
serializer_class = AdvertiseMainSerializer
queryset = Advertise.objects.all()
def get_queryset(self):
return self.queryset.model.objects.filter(owner=self.request.user)
def perform_create(self, serializer):
serializer.save(owner=self.request.user)