在Django的文档中 Django Document
它有以下代码。
from pymongo import MongoClient
client = MongoClient()
db = client.myDB
coll_name = 'Peter'
db[coll_name].insert_one({'1': 'Right collection'})
我不明白自定义方法view_birth_date(self, obj )这个obj参数来自哪里?
注意在最后一行,它调用了这个函数,
from django.contrib import admin
class AuthorAdmin(admin.ModelAdmin):
fields = ('name', 'title', 'view_birth_date')
def view_birth_date(self, obj ):
return obj.birth_date
view_birth_date.empty_value_display = '???'
但没有为obj传递任何参数。我不明白obj如何获得价值。
谢谢!
答案 0 :(得分:2)
我不明白这个
view_birth_date(self, obj)
参数来自哪个自定义方法obj
?
这个方法由Django的机器调用,obj
也由它传递。它只是一个预定义的界面。
view_birth_date.empty_value_display = '???'
但没有为obj传递任何参数。我不明白obj
如何获得价值。
此行与您的问题无关。同样,根据接口,Django在查看您的方法(函数)时会查找empty_value_display
属性,以找出当前值为空时开发人员期望看到的值。
是的,看起来很奇怪,但它只是Django如何工作,它的创造者如何使它工作。他们选择了这个界面 - 你只需要使用文档来找到界面。