簡體   English   中英

這個models.Model來自django?

[英]From where this models.Model coming from in django?

當我創建 Django 項目時,我想創建模型以便稍后存儲在數據庫中。 但在視頻中,人輸入:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=20)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User)

好的,我知道我們正在繼承模型類,所以我們可以使用它的屬性,如 CharField、TextField 但為什么我們在繼承時編寫 models.Model。 我們不能只寫模型嗎? 為什么他要導入類方法-> 模型? 我在 OOPS 中遺漏了什么嗎?

請檢查Django的GitHub存儲庫

我們可以看到, 模型是一個包,而模型是在其base.py模塊中編寫的類,因此我們可以進行models.base.Model ,但可以在__init__.py模塊中使用它,因此可以將其用作models.Model

Python中的所有對象都是對象,因此:

from django.db.models import Model

class Post(Model):
    ...

與此相同:

from django.db import models

class Post(models.Model):
    ...

因此,關於您的問題, Can't we just write models? 不可以,因為模型是一個包含很多類的包,而Model就是其中之一。 因此,您必須使用models.Model來獲取要繼承的class Post類的class Post 就像我在上面說的那樣,如果只想像Model之類的東西,就必須導入要使用的正確的類。

希望有幫助!

汽車 os 汽車。 一棵樹的樹是這樣的嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM