当我创建模型时,如何确保用户可以被选为我登录的用户?model.pyclass 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ı")查看.py##class advertise(CreateAPIView): serializer_class = AdvertiseMainSerializer queryset = Advertise.objects.all()序列化器py##class AdvertiseMainSerializer(ModelSerializer): class Meta: model = Advertise fields = '__all__'
1 回答

天涯尽头无女友
TA贡献1831条经验 获得超9个赞
覆盖perform_create(...)方法
class AdvertiseCreateAPIView(CreateAPIView):
serializer_class = AdvertiseMainSerializer
queryset = Advertise.objects.all()
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
笔记:
我已将类名更改advertise为,因为根据PEP8AdvertiseCreateAPIView指南,类名通常应使用CapWords约定。
添加回答
举报
0/150
提交
取消