maybe
https://github.com/marcgibbons/django-rest-framework-bulk

HTH

On 18 April 2017 at 11:29, Camilo Torres <camilotorr...@gmail.com> wrote:
> Hi,
>
> May be you can create a new Serializer, including a ListField to get
> multiple seat IDs:
>
> class ManyMovieTicketsSerializer(serializers.Serializer):
>     show = serializers.IntegerField
>     user = serializers.IntegerField
>     seats = serializers.ListField(child=serializers.IntegerFields)
>
>     def create(self, validated_data):
>         iterate over seats and save every instance.
>
> On Monday, April 17, 2017 at 1:19:23 AM UTC-4, Aamu Padi wrote:
>>
>> I am using Django as the backend server and Vue.js for the front end Movie
>> app.
>>
>> I have a Ticket model
>>
>> class MovieTicket(models.Model):
>>     show = models.ForeignKey(Show)
>>     seat = models.ForeignKey(Seat)
>>     user = models.ForeignKey(User)
>>     purchased_at = models.DateTimeField(default=timezone.now)
>>     qrcode = models.ImageField(upload_to='qrcode', blank=True, null=True)
>>     qrcode_data = models.CharField(max_length=255, unique=True,
>> blank=True)
>>
>>     class Meta:
>>         unique_together = ('show', 'seat')
>>
>> And its related Serializer
>>
>> class MovieTicketSerializer(serializers.ModelSerializer):
>>     class Meta:
>>         model = MovieTicket
>>         fields = '__all__'
>>
>> To buy a new Ticket there's a view which is mapped to this url
>> http://dev.site.com/api/movies/buy-ticket/:
>>
>> @api_view(['POST'])
>> @permission_classes([IsAuthenticated])
>> def buy_ticket(request):
>>     serialized = MovieTicketSerializer(data=request.data)
>>     if serialized.is_valid():
>>         serialized.save()
>>         return Response(serialized.data, status=status.HTTP_201_CREATED)
>>     return Response(serialized._errors,
>> status=status.HTTP_400_BAD_REQUEST)
>>
>> Now from the front end (Vue.js) I can create a new movie ticket like this:
>>
>> const formBody = {
>>     show: this.$store.state.showSelected.showTime.id,
>>     user: this.$store.state.user.id,
>>
>>     // selectedSeats is an array of seats that have been selected by the
>> user. Here I am passing the first seat object.
>>     seat: this.$store.state.selectedSeats[0].seat.id
>> };
>>
>> this.$http.post("http://dev.site.com/api/movies/buy-ticket/";, formBody)
>>     .then(function (response) {
>>         console.log(response.data);
>>     })
>>     .catch(function (response) {
>>         console.log(response);
>>     });
>> return;
>>
>> If the form was valid, this will create a new MovieTicket Object.
>>
>> Now, suppose if the user selected multiple seats, I can loop through each
>> selectedSeats array and get the seat ids. But what I am confused is how can
>> I pass multiple seat.id if Django rest framework is only accepting one seat
>> per request?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/b8c28522-cf21-4081-9563-97a869f4fa7f%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.



-- 
Best Regards,

Christian Ledermann

Newark-on-Trent - UK
Mobile : +44 7474997517

https://uk.linkedin.com/in/christianledermann
https://github.com/cleder/


<*)))>{

If you save the living environment, the biodiversity that we have left,
you will also automatically save the physical environment, too. But If
you only save the physical environment, you will ultimately lose both.

1) Don’t drive species to extinction

2) Don’t destroy a habitat that species rely on.

3) Don’t change the climate in ways that will result in the above.

}<(((*>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CABCjzWotO%2B77TkYeJyBq%3DuKEtuPbTmnn%3DOzy%2BpmQ3AuDD462%3DA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to