Ne pas être en mesure d'afficher un seul objet lié avec uri des ressources:-Un objet ne pas être lié à un objet existant
http://127.0.0.1:8000/api/v1/job/
{ "name":"jobstestfinal2",
"payment":"/api/v1/payment/2/"
}
obtenir aucune erreur. juste nul à la place de l'objet de paiement.
models.py
class Job(models.Model):
name = models.CharField(max_length=200)
class Payment(models.Model):
scheduled = models.DateTimeField()
job = models.OneToOneField(
Job,
related_name="payment",
blank=True,
null=True)
resource.py
class PaymentResource(ModelResource):
job = fields.ToOneField(
'myapp.resources.JobResource',
'job', null=True, blank=True)
class Meta:
queryset = Payment.objects.all()
resource_name = 'payment'
authorization = Authorization()
allowed_methods = ('get', 'put', 'post')
class JobResource(ModelResource):
payment = fields.ToOneField(
PaymentResource,
'payment',
related_name='job',
null=True, blank=True
)
class Meta:
queryset = Job.objects.all()
resource_name = 'job'
authorization = Authorization()
allowed_methods = ('get', 'put', 'post')
points d'extrémité FYI suivants fonctionnent très bien:
emploi GET, le paiement
emploi POST [avec l'objet de paiement]
paiement [avec emploi]
payment [avec objet recherché]
ma question est spécifique à la façon de le faire via une demande de publication d'api. solution que vous avez donné est pour shell je pense – shifu
S'il vous plaît jeter un oeil de plus près à mon exemple. Je crée une référence de Payment to Job. Ce que vous essayez de faire est de l'emploi au paiement. Si je fais 'curl --dump-header - -H" Type de contenu: application/json "-X POST --data '{" scheduled ":" 2013-10-10 00:00 "," payment ":"/api/v1/job/2/"}" http: // localhost: 8000/api/v1/payment/'J'ai ce que vous essayez – Eagllus
désolé de ne pas vous avoir. dois-je faire une fonction hydrate/déshydrater et ajouter une manipulation? et la requête que vous avez expliquée dans l'exemple fonctionne déjà. – shifu