我一直在寫我的第一個Django的幾個模型,並想看看所有模型擴展的基類(例如:「class Poll(models.Model)」,但找不到Model基類,我檢查了source on github當我瀏覽django.db.models目錄時,我很驚訝沒有找到可以看到的「Model.py」文件,該文件是否生成?或者類Model是否存在其他地方?還是有一些python包魔術正在進行我是不熟悉?Django源代碼中的Model.py在哪裏?
6
A
回答
5
如前所述,Python不是Java。特別是,Python中沒有任何內容表明一個類必須存在於一個與類相同的文件中。
由於San4ez指出,Model
類生活在django.db.models.base
,並導入到__init__.py
文件在該目錄中,以便它可以直接引用作爲models.Model
。這不是什麼魔法,只是普通的慣用Python。
但是,一旦你查看了類本身的代碼,你會發現它實際上包含了很多Python魔法,特別是圍繞元類。但這是一個不同的問題。
2
在https://github.com/django/django/blob/master/django/db/models/__init__.py
看
from django.db.models.base import Model
所以Model
類有描述https://github.com/django/django/blob/master/django/db/models/base.py
從字面上看,你可以這樣模型導入到項目。但django核心開發人員決定隱藏一些服務類,將一些服務導入django.db.models
包,併爲您提供更短的導入。
相關問題
- 1. iText源代碼在哪裏?
- 2. libOAuth.a源代碼在哪裏?
- 3. python鏈中的源代碼在哪裏?
- 4. Linux的usb_storage的源代碼在哪裏
- 5. 哪裏是Tensorflow中adadelta的源代碼?
- 6. GNU C庫的源代碼在哪裏?
- 7. RippleDrawable的源代碼在哪裏? (Android L)
- 8. Python itertools.islice的源代碼在哪裏?
- 9. Android adb的Windows源代碼在哪裏?
- 10. NInject.Framework.Web的源代碼在哪裏?
- 11. AutoScriptWriter的源代碼在哪裏
- 12. Html.TextBox的源代碼在哪裏
- 13. Python雞蛋的源代碼在哪裏?
- 14. ghc-prim的源代碼在哪裏?
- 15. isnan的源代碼在哪裏?
- 16. F#3.1.2的源代碼在哪裏?
- 17. nvelocity的最新源代碼在哪裏
- 18. jar程序的源代碼在哪裏?
- 19. 目前,JUnit的源代碼在哪裏?
- 20. IEnumerator的源代碼在哪裏?
- 21. maven-properties-plugin的源代碼在哪裏?
- 22. /usr/bin/lock的源代碼在哪裏?
- 23. Android Image Cropper的源代碼在哪裏
- 24. QEMU源代碼中RDTSC處理程序的代碼在哪裏?
- 25. PHP源代碼中增加字符串的代碼在哪裏?
- 26. Django - 在哪裏放置某些代碼
- 27. django經理代碼應該在哪裏?
- 28. Apache Ignite 2.x源代碼在哪裏?
- 29. 你在哪裏下載Linux源代碼?
- 30. NHibernate 3.0源代碼庫在哪裏?
我發現它與你的幫助(不用謝謝github搜索)。這導致我在python約定/樣式/規則方面出現了一些相當哲學的問題,但這是另一篇文章的問題(並且在做了一些背景研究之後)。謝謝! – 2012-04-14 17:11:12