【问题标题】:Django Rest Framework OPTIONS request - include initial/default choicesDjango Rest Framework OPTIONS 请求 - 包括初始/默认选项
【发布时间】:2021-04-06 10:33:42
【问题描述】:

我正在使用选项在我的项目中填充 select 输入。有没有办法同时包含有关 default 值的信息?

对于这个字段:

DELIVERY_METHOD__SHIPPING_ONLY = 'shipping_only'
DELIVERY_METHOD__LOCAL_PICKUP_ONLY = 'local_pickup_only'
DELIVERY_METHOD__SHIPPING_AND_LOCAL_PICKUP = 'shipping_and_local_pickup'
DELIVERY_METHOD_CHOICES = (
    (DELIVERY_METHOD__SHIPPING_ONLY, 'Shipping only'),
    (DELIVERY_METHOD__LOCAL_PICKUP_ONLY, 'Local pickup only'),
    (DELIVERY_METHOD__SHIPPING_AND_LOCAL_PICKUP, 'Shipping & local pickup'),
)
delivery_method = models.CharField(max_length=32, choices=DELIVERY_METHOD_CHOICES,
                                   default=DELIVERY_METHOD__SHIPPING_ONLY)

选项actions.POST.delivery_method 是这样的:

        "delivery_method": {
            "type": "choice",
            "required": false,
            "read_only": false,
            "label": "Delivery method",
            "choices": [
                {
                    "value": "shipping_only",
                    "display_name": "Shipping only"
                },
                {
                    "value": "local_pickup_only",
                    "display_name": "Local pickup only"
                },
                {
                    "value": "shipping_and_local_pickup",
                    "display_name": "Shipping & local pickup"
                }
            ]
        },

但它也应该说 Shipping only 是默认值,因此我可以使用此值预填充输入。

有没有内置的方法可以做到这一点?

【问题讨论】:

    标签: python django api rest django-rest-framework


    【解决方案1】:

    你想像这样把'initial'扔进去;

    delivery_method = models.CharField(
       max_length=32,
       choices=DELIVERY_METHOD_CHOICES,
       default=DELIVERY_METHOD__SHIPPING_ONLY,
       initial=DELIVERY_METHOD__SHIPPING_ONLY,
    )
    

    【讨论】:

    • 谢谢,但模型中没有这样的选项。也许我可以在序列化程序中做到这一点。
    • 您使用什么来生成 OPTIONS 请求?
    • 这是默认的。我使用 ModelViewSets。
    猜你喜欢
    • 2018-03-17
    • 2014-10-03
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 2023-01-08
    • 2015-08-08
    • 2015-11-03
    • 2013-02-13
    相关资源
    最近更新 更多