Django模型中的DESCRIBE

时间:2011-05-14 03:13:57

标签: django django-models

我想知道表格中的列。 django中有DESCRIBE table;吗?

4 个答案:

答案 0 :(得分:9)

您可以使用model._meta.get_all_field_names()来获取模型类中所有字段的列表。

答案 1 :(得分:6)

您可以使用./manage.py sqlall <app name>打印用于为给定应用创建表的SQL。对于教程项目的民意调查应用程序,输出为:

tutorial% ./manage.py sqlall polls
BEGIN;
CREATE TABLE "polls_poll" (
    "id" integer NOT NULL PRIMARY KEY,
    "question" varchar(200) NOT NULL,
    "pub_date" datetime NOT NULL
)
;
CREATE TABLE "polls_choice" (
    "id" integer NOT NULL PRIMARY KEY,
    "poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"),
    "choice" varchar(200) NOT NULL,
    "votes" integer NOT NULL
)
;
CREATE INDEX "polls_choice_763e883" ON "polls_choice" ("poll_id");
COMMIT;

您可能觉得有用。

答案 2 :(得分:3)

我找到的最简单的方法是使用print Class.__doc__,例如:

>>> from network.models import Network
>>> print Network.__doc__
Network(id, network, name, location)

答案 3 :(得分:1)

您还可以通过admindocs应用程序(https://docs.djangoproject.com/en/dev/ref/contrib/admin/admindocs/)浏览模型的字段和文档:

  

Django的admindocs app pulls   来自docstrings的文档   模型,视图,模板标签和   适用于任何应用的模板过滤器   INSTALLED_APPS并制作它   文件可从   Django管理员。