[英]Django Model Mixins: inherit from models.Model or from object?
[英]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.