1
我想額外參數model.Field
基類添加到 以後使用沒有Form
或ModelForm
類定義再次領域的額外選擇額外的參數。Django的,對於模型字段定義
而且我可以添加額外的參數:
(InteractiveConsole)
>>> from polls.models import Poll
>>> Poll._meta.fields[1].extra
{'widget': 'xw', 'admin_list_order': 3}
>>>
這是適當的,Python化的方式來增加一個額外的參數:
class Poll(models.Model):
question = models.CharField(max_length=200,
extra= { 'widget': 'xw',
'admin_list_order': 3 })
pub_date = models.DateTimeField('date published')
我可以訪問額外的ARG?
from django.db import models
# save old __init__ function of Field class
__oInit = models.Field.__init__
# define a new one to accept 'extra' arg
def __xinit__(self, *args, **kwargs):
#chek if extra arg exist
if kwargs.has_key('extra'):
self.extra = kwargs.pop('extra')
#call real __init__
__oInit(self, *args, **kwargs)
# replace init with new one
models.Field.__init__ = __xinit__
非常感謝你。我得到了我所要求的。
另外感謝額外的技巧檢查額外的參數。 – firatto