python lookup_model.py

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python lookup_model.py相关的知识,希望对你有一定的参考价值。

from django.db import models


class LookupModel(models.Model):
    id = models.CharField(max_length=30, primary_key=True)

    class Meta:
        abstract = True

    @classmethod
    def get_record(cls, pk):
        attr = getattr(cls, pk.upper(), None)
        if not attr:
            attr = cls.objects.get(pk=pk)
        return attr

    def __str__(self):
        return self.pk

    def __hash__(self):
        return hash(self.pk)

    def __eq__(self, obj):
        if not isinstance(obj, str):
            return super().__eq__(obj)
        return self.pk == obj

    def __ne__(self, obj):
        if not isinstance(obj, str):
            return super().__ne__(obj)
        return self.pk != obj


class LookupRecord:
    def __init__(self, pk):
        self.pk = pk

    def __get__(self, instance, owner):
        return owner.objects.get(pk=self.pk)

以上是关于python lookup_model.py的主要内容,如果未能解决你的问题,请参考以下文章

001--python全栈--基础知识--python安装

Python代写,Python作业代写,代写Python,代做Python

Python开发

Python,python,python

Python 介绍

Python学习之认识python