<small id='2V1pa'></small><noframes id='2V1pa'>

  • <tfoot id='2V1pa'></tfoot>

    • <bdo id='2V1pa'></bdo><ul id='2V1pa'></ul>
    <i id='2V1pa'><tr id='2V1pa'><dt id='2V1pa'><q id='2V1pa'><span id='2V1pa'><b id='2V1pa'><form id='2V1pa'><ins id='2V1pa'></ins><ul id='2V1pa'></ul><sub id='2V1pa'></sub></form><legend id='2V1pa'></legend><bdo id='2V1pa'><pre id='2V1pa'><center id='2V1pa'></center></pre></bdo></b><th id='2V1pa'></th></span></q></dt></tr></i><div id='2V1pa'><tfoot id='2V1pa'></tfoot><dl id='2V1pa'><fieldset id='2V1pa'></fieldset></dl></div>
    <legend id='2V1pa'><style id='2V1pa'><dir id='2V1pa'><q id='2V1pa'></q></dir></style></legend>

      1. 如何在 Django 中使用动态外键?

        How to use dynamic foreignkey in Django?(如何在 Django 中使用动态外键?)

        • <bdo id='HambP'></bdo><ul id='HambP'></ul>
        • <small id='HambP'></small><noframes id='HambP'>

                <tbody id='HambP'></tbody>

              <legend id='HambP'><style id='HambP'><dir id='HambP'><q id='HambP'></q></dir></style></legend>
              <tfoot id='HambP'></tfoot>
                • <i id='HambP'><tr id='HambP'><dt id='HambP'><q id='HambP'><span id='HambP'><b id='HambP'><form id='HambP'><ins id='HambP'></ins><ul id='HambP'></ul><sub id='HambP'></sub></form><legend id='HambP'></legend><bdo id='HambP'><pre id='HambP'><center id='HambP'></center></pre></bdo></b><th id='HambP'></th></span></q></dt></tr></i><div id='HambP'><tfoot id='HambP'></tfoot><dl id='HambP'><fieldset id='HambP'></fieldset></dl></div>

                  本文介绍了如何在 Django 中使用动态外键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想将单个 ForeignKey 连接到两个不同的模型.

                  I want to connect a single ForeignKey to two different models.

                  例如:

                  我有两个名为 CastsArticles 的模型,还有第三个模型 Faves,用于收藏其他模型中的任何一个.如何使 ForeignKey 动态化?

                  I have two models named Casts and Articles, and a third model, Faves, for favoriting either of the other models. How can I make the ForeignKey dynamic?

                  class Articles(models.Model):
                      title = models.CharField(max_length=100)
                      body = models.TextField()
                  
                  class Casts(models.Model):
                      title = models.CharField(max_length=100)
                      body = models.TextField()
                  
                  class Faves(models.Model):
                      post = models.ForeignKey(**---CASTS-OR-ARTICLES---**)
                      user = models.ForeignKey(User,unique=True)
                  

                  这可能吗?

                  推荐答案

                  我是这样做的:

                  from django.contrib.contenttypes.models import ContentType
                  from django.contrib.contenttypes import fields
                  
                  
                  class Photo(models.Model):
                      picture = models.ImageField(null=True, upload_to='./images/')
                      caption = models.CharField(_("Optional caption"),max_length=100,null=True, blank=True)
                  
                      content_type = models.ForeignKey(ContentType)
                      object_id = models.PositiveIntegerField()
                      content_object = fields.GenericForeignKey('content_type', 'object_id')
                  
                  class Article(models.Model):
                      ....
                      images     = fields.GenericRelation(Photo)
                  

                  你会添加类似的东西

                      content_type = models.ForeignKey(ContentType)
                      object_id = models.PositiveIntegerField()
                      content_object = fields.GenericForeignKey('content_type', 'object_id')
                  

                  致最爱和

                      fields.GenericRelation(Faves)
                  

                  到文章和演员

                  contenttypes 文档

                  这篇关于如何在 Django 中使用动态外键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Initialize Multiple Numpy Arrays (Multiple Assignment) - Like MATLAB deal()(初始化多个 Numpy 数组(多重赋值) - 像 MATLAB deal())
                  How to extend Python class init(如何扩展 Python 类初始化)
                  What#39;s the difference between dict() and {}?(dict() 和 {} 有什么区别?)
                  What is a wrapper_descriptor, and why is Foo.__init__() one in this case?(什么是 wrapper_descriptor,为什么 Foo.__init__() 在这种情况下是其中之一?)
                  Initialize list with same bool value(使用相同的布尔值初始化列表)
                  setattr with kwargs, pythonic or not?(setattr 与 kwargs,pythonic 与否?)

                  <small id='qrPv3'></small><noframes id='qrPv3'>

                  • <tfoot id='qrPv3'></tfoot>

                        <tbody id='qrPv3'></tbody>
                    1. <legend id='qrPv3'><style id='qrPv3'><dir id='qrPv3'><q id='qrPv3'></q></dir></style></legend>
                        <bdo id='qrPv3'></bdo><ul id='qrPv3'></ul>

                            <i id='qrPv3'><tr id='qrPv3'><dt id='qrPv3'><q id='qrPv3'><span id='qrPv3'><b id='qrPv3'><form id='qrPv3'><ins id='qrPv3'></ins><ul id='qrPv3'></ul><sub id='qrPv3'></sub></form><legend id='qrPv3'></legend><bdo id='qrPv3'><pre id='qrPv3'><center id='qrPv3'></center></pre></bdo></b><th id='qrPv3'></th></span></q></dt></tr></i><div id='qrPv3'><tfoot id='qrPv3'></tfoot><dl id='qrPv3'><fieldset id='qrPv3'></fieldset></dl></div>