Ich versuche, ein neues Objekt mit einem Fremdschlüssel mit Django ListCreateAPIView erstellen. Der Verweis auf den Fremdschlüssel befindet sich in der URL. Ich habe versucht, lookup_url_kwarg verwenden, aber wenn ich eine json senden, erfordert es mich noch an den Eingang einer InstitutionDjango REST ListCreateAPIView Fremdschlüssel
views.py
class MemorandumCreateView(ListCreateAPIView):
# permission_classes = (IsAuthenticated,)
queryset = Memorandum.objects.all()
lookup_fields = 'institution_id'
lookup_url_kwarg = 'institution_id'
serializer_class = MemorandumSerializer
def get_queryset(self):
institution = self.lookup_url_kwarg['institution_id']
return Memorandum.objects.filter(institution=institution)
serializers.py
class MemorandumSerializer(ModelSerializer):
# lookup_fields = 'institution_id'
class Meta:
model = Memorandum
fields = "__all__"
Urls. py
url(r'^(?P<institution_id>(\d+))/memorandums', MemorandumCreateView.as_view()),
models.py
class Memorandum(Model):
MEMORANDUM_CATEGORIES = (
('MOA', 'Memorandum of Agreement'),
('MOU', 'Memorandum of Understanding')
)
AGREEMENT_TYPES = (
('B', 'Bilateral'),
('M', 'Multilateral')
)
institution = ForeignKey(Institution)
agreement = CharField(max_length=12, choices=AGREEMENT_TYPES)
memorandum_category = CharField(max_length=3, choices=MEMORANDUM_CATEGORIES)
memorandum_file = CharField(max_length=512)
version_date = DateField()
date_effective = DateField()
date_expiration = DateField(null=True)
college_initiator = CharField(max_length=5, choices=COLLEGES, null=True)
, wenn ich eine json ohne ‚Institution‘ Feld schicken, gibt es mir einen Serializer Fehler. Sollte es nicht die Daten von der URL extrahieren? – Jason
Können Sie den Text des Fehlers teilen, den Sie erhalten? – souldeux
Ich habe es durch Hinzufügen eines Ausschlusses im Serialisierer behoben danke! – Jason