Я не совсем уверен в вашем вопросе и вашем коде, но вот небольшой рассказ о _meta
...
Чтобы получить доступ к имени столбца класса, вы можете проверить атрибут _meta
класса.
Пример. Образец модели, который определяет три поля и вспомогательные методы whats_inside
, который просто перебирает _meta.fields
и выводит имена столбцов класса:
from django.db import models
def whats_inside(cls):
for item in cls._meta.fields:
print item.name
class Sample(models.Model):
name = models.CharField(max_length=80)
desc = models.CharField(max_length=80)
date_added = models.DateTimeField(auto_now=True, auto_now_add=True)
Когда мы запускаем ./manage shell
, мы можем вызвать whats_inside
с Sample
в качестве аргумента (примечание: ms
- это просто пакет, в котором находится модель, ваш будет отличаться):
$ ./manage.py shell
Python 2.6 (r26:66714, Oct 4 2008, 02:48:43)
Type "copyright", "credits" or "license" for more information.
IPython 0.9.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.
In [1]: from ms.models import Sample, whats_inside
In [2]: whats_inside(Sample)
id
name
desc
date_added
In [3]: