Django中是否为DAO模型管理器类

时间:2017-02-17 10:07:04

标签: django dao data-access-layer django-managers

我需要引入一个 DataAccessLayer 来查询数据库层并将结果返回给我的服务层。基本思想是服务层不应该对数据库有任何访问权限或正在进行什么查询(层中的抽象)
这是扩展 Manager 类并覆盖该类

中的方法的好方法
class PollsManager(models.Manager):
    def get_all(self)
         super(PollsManager,self).all()

class OpinionPoll(models.Model):
    question = models.CharField(max_length=200)
    poll_date = models.DateField()
    objects = PollManager()

或创建 new 类,该类充当数据访问层(不是扩展管理器类)

class Number(models.Model):
    user_id = models.IntegerField(max_length=20)
    date = models.DateField()

class DataAccess:
    def get_all(self):
     Number.objects.all()

即使我通过创建一个新类来扩展manager类,也只是添加一些新方法或覆盖现有实现

关于如何在Django中实现DAO的任何想法?

0 个答案:

没有答案