2016-04-29 8 views
0

Ich habe Modelle:Reverse-Feld DRF Serialisierer

class Order(models.Model): 

    user = models.ForeignKey('accounts.User', blank=True, null=True) 
    first_name = models.CharField(max_length=20) 
    last_name = models.CharField(max_length=20) 

class Reservation(models.Model): 

    start = models.DateTimeField(db_index=True) 
    end = models.DateTimeField(db_index=True) 
    order = models.ForeignKey(Order, related_name='reservations') 

und Serializer:

Klasse ReservationSerializer (serializers.HyperlinkedModelSerializer):

order_first_name = serializers.CharField(read_only=True) 
order_last_name = serializers.CharField(read_only=True) 
order_id = serializers.IntegerField(read_only=True) 

class Meta: 
    model = Reservation 
    fields = ('id', 
       'start', 
       'end', 
       'order', 
       'order_first_name', 
       'order_last_name', 
       'order_id', 

      ) 
    read_only_fields = ('order', 'order_first_name', 'order_last_name', 'order_id') 

Das Problem ist, ich kann nicht beide sehen order_first_name und order_last_name in API-Antwort sowie keine Fehler.

Antwort

0

Ok, das funktioniert

order_first_name = serializers.ReadOnlyField (source = 'order.first_name', read_only = True)

Verwandte Themen