Bonjour,
J'ai une table de relation entre deux objet, un utilisateur et une offre
Lorsque l'utilisateur veut accepter une offre, je créé un enregistrement dans cette table de relation qui me permet de savoir toutes offres acceptés par l'utilisateur (ce qui correspond à ce qu'il a commandé)
Je voudrais lors de cette association, modifier le statut de l'offre acceptée.
Voici ce que j'ai :
Un serializer pour l'association (commande):
Une vue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Order_UserSerializer(serializers.ModelSerializer): def create(self, validated_data): order_customer = Order_Customer.objects.create(**validated_data) return order_customer class Meta: model = Order_Customer fields= '__all__'
Si j'exécute la requête, l'association est bien créée pour l'utilisateur et l'offre commandée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class Order_UserViewSet(viewsets.ModelViewSet): queryset = Order_Customer.objects.all() serializer_class = Order_UserSerializer permission_classes = [permissions.IsAuthenticated] def perform_create(self,serializer): serializer.save(customer_id=self.request.user.id)
Mais je voudrais mettre à jour le statut de l'offre, j'ai essayé de faire ça pour mettre le statut
mais quand j'exécute la requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class Order_UserSerializer(serializers.ModelSerializer): def create(self, validated_data): offer = validated_data.pop('offer') Offers.objects.filter(id=offer.id).update(status_id='SAMPL') order_customer = Order_Customer.objects.create(**validated_data) return order_customer class Meta: model = Order_Customer fields= '__all__'
j'ai cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 null value in column "offer_id" violates not-null constraint DETAIL: Failing row contains (20, 2020-06-20, 2020-06-20, 1, null).
Merci pour votre aide
Partager