當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Django Model.__eq__用法及代碼示例


本文介紹 django.db.models.Model.__eq__ 的用法。

聲明

Model.__eq__()

定義了相等方法,使得具有相同主鍵值和相同具體類的實例被認為是相等的,除了主鍵值為None 的實例除了它們自己之外不等於任何東西。對於代理模型,具體類被定義為模型的第一個非代理父級;對於所有其他模型,它隻是模型的類。

例如:

from django.db import models

class MyModel(models.Model):
    id = models.AutoField(primary_key=True)

class MyProxyModel(MyModel):
    class Meta:
        proxy = True

class MultitableInherited(MyModel):
    pass

# Primary keys compared
MyModel(id=1) == MyModel(id=1)
MyModel(id=1) != MyModel(id=2)
# Primary keys are None
MyModel(id=None) != MyModel(id=None)
# Same instance
instance = MyModel(id=None)
instance == instance
# Proxy model
MyModel(id=1) == MyProxyModel(id=1)
# Multi-table inheritance
MyModel(id=1) != MultitableInherited(id=1)

相關用法


注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.db.models.Model.__eq__。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。