File: models.py

package info (click to toggle)
django-haystack 3.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,504 kB
  • sloc: python: 23,475; xml: 1,708; sh: 74; makefile: 71
file content (114 lines) | stat: -rw-r--r-- 2,732 bytes parent folder | download | duplicates (2)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# A couple models for Haystack to test with.
import datetime
import uuid

from django.db import models


class MockTag(models.Model):
    name = models.CharField(max_length=32)

    def __str__(self):
        return self.name


class MockModel(models.Model):
    author = models.CharField(max_length=255)
    foo = models.CharField(max_length=255, blank=True)
    pub_date = models.DateTimeField(default=datetime.datetime.now)
    tag = models.ForeignKey(MockTag, models.CASCADE)

    def __str__(self):
        return self.author

    def hello(self):
        return "World!"


class UUIDMockModel(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    characteristics = models.TextField()

    def __str__(self):
        return str(self.id)


class AnotherMockModel(models.Model):
    author = models.CharField(max_length=255)
    pub_date = models.DateTimeField(default=datetime.datetime.now)

    def __str__(self):
        return self.author


class AThirdMockModel(AnotherMockModel):
    average_delay = models.FloatField(default=0.0)
    view_count = models.PositiveIntegerField(default=0)


class CharPKMockModel(models.Model):
    key = models.CharField(primary_key=True, max_length=10)


class AFourthMockModel(models.Model):
    author = models.CharField(max_length=255)
    editor = models.CharField(max_length=255)
    pub_date = models.DateTimeField(default=datetime.datetime.now)

    def __str__(self):
        return self.author


class SoftDeleteManager(models.Manager):
    def get_queryset(self):
        return super().get_queryset().filter(deleted=False)

    def complete_set(self):
        return super().get_queryset()


class AFifthMockModel(models.Model):
    author = models.CharField(max_length=255)
    deleted = models.BooleanField(default=False)

    objects = SoftDeleteManager()

    def __str__(self):
        return self.author


class ASixthMockModel(models.Model):
    name = models.CharField(max_length=255)
    lat = models.FloatField()
    lon = models.FloatField()

    def __str__(self):
        return self.name


class ScoreMockModel(models.Model):
    score = models.CharField(max_length=10)

    def __str__(self):
        return self.score


class ManyToManyLeftSideModel(models.Model):
    related_models = models.ManyToManyField("ManyToManyRightSideModel")


class ManyToManyRightSideModel(models.Model):
    name = models.CharField(max_length=32, default="Default name")

    def __str__(self):
        return self.name


class OneToManyLeftSideModel(models.Model):
    pass


class OneToManyRightSideModel(models.Model):
    left_side = models.ForeignKey(
        OneToManyLeftSideModel, models.CASCADE, related_name="right_side"
    )