小编jay*_*l d的帖子

Django使用过滤条件作为计数来注释计数

我需要在模型"Mymodel"中获取字段"title"的重复条目,其中count大于2.这样我就可以从Mymodel中删除所有重复项.

我试图执行下面的查询,但它抛出异常"AttributeError:'bool'对象没有属性'查找'"

movies = Mymodel.objects.values('title')\
            .annotate(title_count=Count('title'), distint=True)\
            .filter(title_count__gt=2)
Run Code Online (Sandbox Code Playgroud)

等效原始sql查询

SELECT count(title) as num_title, title from app_mymodel group by title having count(title) > 2;
Run Code Online (Sandbox Code Playgroud)

我在这里发现了类似的问题,用Django ORM过滤计数但是它不适合我.

任何帮助都会很棒.

django django-models

4
推荐指数
1
解决办法
5111
查看次数

Django使用自己的模型自定义登录

我正在使用Django1.4和PostgreSQL.我正在开发一个应用程序,其中我有两个模型,即学生,公司.

class students(models.Model):

    first_name = models.CharField(**option)
    last_name = models.CharField(**option)
    username = models.EmailField(max_length=100, unique=True)
    password = models.CharField(_('password'), max_length=128)
    # Some other attributes for Student models



class company(models.Model):
    compnay_name = models.CharField(**option)
    username = models.EmailField(max_length=100, unique=True)
    password = models.CharField(_('password'), max_length=128)
    #Some other attributes for company models
Run Code Online (Sandbox Code Playgroud)

我的要求:

  1. 学生和公司可以创建新的个人资料(提供注册表格)
  2. 为学生/公司创建新的个人资料,用户名即电子邮件ID应该是唯一的.即学生和公司模型中不应存在电子邮件ID.(任务完成)
  3. 为学生和公司登录创建了2个登录表单.

问题:

  1. 由于我没有使用或扩展用户模型,我无法使用django内置登录和身份验证方法.

  2. 如何编写自定义身份验证方法,该方法应检查学生/公司用户名和密码中的用户凭据.(为学生和公司提供2种不同的登录表格)

请帮我.

感谢您阅读我的查询.

backend.py

class LoginBackend:
    def authenticate(self, username=None, password=None, model=None):
        if model == "Student":
            lookup_model = Student
        elif model == "Employer":
            lookup_model = Employer
        try:
            user = lookup_model.objects.get(email=username)
         except Exception, …
Run Code Online (Sandbox Code Playgroud)

django django-models

2
推荐指数
1
解决办法
9526
查看次数

标签 统计

django ×2

django-models ×2