Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django Rest框架:ModelSerializer中的ModelSerializer as字段不';不显示选择_Python_Django_Django Rest Framework_Models - Fatal编程技术网

Python Django Rest框架:ModelSerializer中的ModelSerializer as字段不';不显示选择

Python Django Rest框架:ModelSerializer中的ModelSerializer as字段不';不显示选择,python,django,django-rest-framework,models,Python,Django,Django Rest Framework,Models,我有两种型号: class Article(models.Model): name = models.CharField(max_length=255) price = models.DecimalField(max_digits=8, decimal_places=2) class Order(models.Model): article = models.ForeignKey(article, related_name='orders') bought_on

我有两种型号:

class Article(models.Model):
    name = models.CharField(max_length=255)
    price = models.DecimalField(max_digits=8, decimal_places=2)

class Order(models.Model):
    article = models.ForeignKey(article, related_name='orders')
    bought_on = models.DateTimeField()
和两个序列化程序类:

class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Article

class OrderSerializer(serializers.ModelSerializer):
    article = ArticleSerializer()

    class Meta:
        model = Order
现在,如果我想请求订单选项,我不会得到“选项”,看起来是这样的:

"article": {
    "type": "field", 
    "required": true, 
    "read_only": false, 
    "label": "Article"
}, 
如果我删除

article=ArticleSerializer()

从OrderSerializer,一切正常,我得到了很多关于文章的信息,例如:

"article": {
    "type": "field", 
    "required": true, 
    "read_only": false, 
    "label": "Article", 
    "choices": [
        {
            "display_name": "Headphones - 29.00", 
            "value": "8"
        }, 
        {
            "display_name": "Monitor- 199.00", 
            "value": "12"
        },
    ]
}, 
所以我的问题是:


是否有可能覆盖ArticleSerializer中的choices字段,或者是否有其他方法在API视图中将文章显示为选项

以下是Tom Christie给我的答案:

如果是嵌套项,则不希望将其显示为选项。相反,我们应该将其显示为嵌套字段。(我们可以认为这是一个有效的问题,我会把它看作是我自己雷达上的低优先级,所以除非有其他人在运行它,那么……) 在您自己的项目中(而不是在核心项目中)支持这一点方面,关于如何进行这一工作,这里有一些有限的信息。。。但您还需要深入研究现有的元数据类实现