Djangoでget()に問題があります。ウィットに私はそのような機能を持っている:django - get()が複数のトピックを返し、フィルタが機能しない
try:
sth = Object.objects.get(t=request.GET.get('data'))
if request.method == 'GET':
serializer = ObjectSerializer(sth)
return Response(serializer.data)
Iましたエラー:フィルタの
get() returned more than one Object -- it returned 2!
だから私は入れ替わっていGET:
sth = Object.objects.filter(t=request.GET.get('data'))
しかし、今、私が取得エラー:
AttributeError: Got AttributeError when attempting to get a value for field `data` on serializer `ObjectSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `QuerySet` instance.
Original exception text was: 'QuerySet' object has no attribute 'data'.
提案がありますか?
コードのあなたの一番上の行(それがエラーを生成するようにそれが見えます)が、実際にエラーが言うように、[MCVE] – Sayse
を含めるように更新してみてください、あなたはより多くを持っている、 'GET'を使用していませんあなたのデータベース内の 'data'の値と一致する1つの項目よりも大きいです。この場合、実際に何が起こりたいのかを判断する必要があります。複数のアイテムをシリアル化しますか?または、実際には単一のアイテムがほしいと思うのですが、その場合は、どちらを選択するかを判断する必要があります。フィルタリングに使用できる別のフィールドがありますか? –
私は、テーブルからデータの値と一致するすべての項目を返したいと思います。 – wahtdbogh