簡體   English   中英

django 模型 - 我如何創建抽象方法

[英]django models - how can i create abstract methods

在 Django 抽象類中似乎可以使用:

class Meta:
    abstract = True

但是我沒有看到如何在這些不包含任何邏輯的類中聲明抽象方法/函數,例如

class AbstractClass(models.Model):

    def abstractFunction():

    class Meta:
    abstract = True

圖書館 abc 分別@abstractmethod 的符號似乎不適用於這里,還是我錯了?

據我了解,你是對的。 Meta: abstract=True 在 Django 模型中是為了確保 Django 不會為模型創建數據庫表。 它早於 Pythons ABC,這可能解釋了命名/功能混淆。

從 ABC 和 django.db.models.Model 繼承都會引發元類異常

然而,快速搜索給了我這個。 不知道有沒有破東西。 https://gist.github.com/gavinwahl/7778717

我確實喜歡 ABC 在類實例化時引發異常的方式,所以它會非常簡潔。 如果您覺得它有用,請告訴我。

暫無
暫無

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

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