Sono un po 'nuovo al DRF. Ho modello di record che assomiglia a questo:Django Rest Framework come salvare un modello con campo correlato basato su ID
class Records(models.Model):
owner = models.ForeignKey(User, null=True)
activity = models.ForeignKey(Activity, null=True)
time_start = models.DateTimeField(null=True)
time_end = models.DateTimeField(null=True)
...
Il RecordSerializer è questa:
class RecordSerializer(serializers.ModelSerializer):
now = datetime.today()
owner = serializers.Field(source='owner.username')
time_start = serializers.DateTimeField(source='now')
class Meta:
model = Records
fields = ("owner", "activity", "time_start")
E questa è la vista:
class StartApiView(generics.CreateAPIView):
model = Records
serializer_class = RecordSerializer
def pre_save(self, obj):
obj.owner = self.request.user
La richiesta POST viene inviata da Backbone e include un campo con l'ID attività, ad esempio "{attività: 12}". Cosa devo fare se voglio che la vista salvi il Record e imposta l'attività sull'attività con l'ID di 12?
Grazie per la tua risposta, riferimento molto utile. Lo accetterò non appena avrò la visione funzionante. In questo momento sto cercando di risolvere un altro errore, l'ho postato su questa domanda, forse puoi darmi una mano anche lì: http://stackoverflow.com/questions/27030449/django-rest-framework-modelfield-requires- modello-campo-kwarg. – alejoss