2

OneToOne 関係で接続されている 2 つの django モデルがあり、Tastypie ModelResource でそれらを接続する方法がわかりません。

いくつかの新しいモデルを投稿する代わりに、Django Tastypie API に子リソースを含めるで定義されているモデルを借りて、これを行う方法がわからない場所を示します。TicketTicketCommentモデルを使用して、 が次のTicketCommentようになったと想像してください。

class TicketComment(models.Model):
    ticket = models.OneToOneField('Ticket')

ForeignKey フィールドを使用する代わりに。ToManyField私はドキュメントと、を使用している上記のような投稿を見てきましたToOneField。しかし、 はTicketを参照していないため、私の状況ではうまくいかないようTicketCommentです。私がやりたいことは、 に をリストする API を作成できるようにすることTicketCommentですTicket。Tastypie は、フィールドがモデルTicketCommentに存在しないという例外を適切にスローします。TicketniceをAPIにシリアルTicketComment化する方法はありますか?Ticket

4

1 に答える 1

1

使用するフィールドをtastypieに指示する属性arg があります。チケットは逆の関係で TicketComment を参照します。デフォルトでは小文字のモデル名になるため、この例では ticketcomment になります。ただし、モデルにrelated_name属性を明示的に設定することをお勧めします。これにより、モデルがどのように接続されるかがわかります。

だからあなたのおいしいパイでは、これを行う必要があります:

class TicketResource(ModelResource):
   comment = fields.OneToOneField('TicketCommentResource', 'ticketcomment')

そして、それはうまくいきます。OneToOneField の 2 番目の引数は属性です。

于 2012-02-01T22:35:06.910 に答える