File: external_model_utils_noerror_override_manager.py

package info (click to toggle)
pylint-django 2.0.13-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 660 kB
  • sloc: python: 1,807; sh: 13; makefile: 5
file content (36 lines) | stat: -rw-r--r-- 916 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Check that when overriding the 'objects' attribite of a model class
# with a manager from the django-model-utils package pylint-django
# does not report not-an-iterator error, see
# https://github.com/PyCQA/pylint-django/issues/117
# pylint: disable=missing-docstring, invalid-name

from model_utils.managers import InheritanceManager

from django.db import models


class BaseModel(models.Model):
    name = models.CharField()


class BuggyModel(models.Model):
    objects = InheritanceManager()

    name = models.CharField()


def function():
    for record in BaseModel.objects.all():
        print(record.name)

    for record in BuggyModel.objects.all():
        print(record.name)


class Unit(models.Model):
    sim = models.CharField(max_length=64, null=True, blank=True)
    objects = InheritanceManager()


installed_units = Unit.objects.filter(sim__isnull=False)
ids = [u.sim for u in installed_units]