【问题标题】:DRF form render object property (name) instead of ObjectDRF 表单渲染对象属性(名称)而不是 Object
【发布时间】:2016-01-19 06:52:46
【问题描述】:

表单选择选项显示“调查对象” - 我怎样才能让它呈现调查名称?查找字段正在使用调查对象的“名称”属性 - 我怎样才能让 POST 表单也使用它?

<option value="http://127.0.0.1:8000/data/surveys/mysurvey/">Survey object</option>
<option value="http://127.0.0.1:8000/data/surveys/anothersurvey/">Survey object</option>

【问题讨论】:

    标签: python django python-3.x django-rest-framework


    【解决方案1】:

    “调查对象”是模型的默认表示。所以在你的模型Survery 的某个地方你必须定义它的字符串表示,例如

    class Survey(models.Model):
        name = CharField(max_length=255)
    
        def __str__(self):     # or def __unicode__(self) in Python 2
            return self.name
    

    在 Python 2 中,Django 将在您的模型上调用 __unicode__()。在 Python 3 中,它将调用 __str__()

    【讨论】:

    • 啊哈!非常感谢 - 我使用的是 unicode 和 python3!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 2023-03-21
    • 2021-04-15
    • 1970-01-01
    相关资源
    最近更新 更多