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
|
import datetime
from django.test import TestCase
from .models import Thing
class ReservedNameTests(TestCase):
def generate(self):
day1 = datetime.date(2005, 1, 1)
Thing.objects.create(
when="a",
join="b",
like="c",
drop="d",
alter="e",
having="f",
where=day1,
has_hyphen="h",
)
day2 = datetime.date(2006, 2, 2)
Thing.objects.create(
when="h",
join="i",
like="j",
drop="k",
alter="l",
having="m",
where=day2,
)
def test_simple(self):
day1 = datetime.date(2005, 1, 1)
t = Thing.objects.create(
when="a",
join="b",
like="c",
drop="d",
alter="e",
having="f",
where=day1,
has_hyphen="h",
)
self.assertEqual(t.when, "a")
day2 = datetime.date(2006, 2, 2)
u = Thing.objects.create(
when="h",
join="i",
like="j",
drop="k",
alter="l",
having="m",
where=day2,
)
self.assertEqual(u.when, "h")
def test_order_by(self):
self.generate()
things = [t.when for t in Thing.objects.order_by("when")]
self.assertEqual(things, ["a", "h"])
def test_fields(self):
self.generate()
v = Thing.objects.get(pk="a")
self.assertEqual(v.join, "b")
self.assertEqual(v.where, datetime.date(year=2005, month=1, day=1))
def test_dates(self):
self.generate()
resp = Thing.objects.dates("where", "year")
self.assertEqual(
list(resp),
[
datetime.date(2005, 1, 1),
datetime.date(2006, 1, 1),
],
)
def test_month_filter(self):
self.generate()
self.assertEqual(Thing.objects.filter(where__month=1)[0].when, "a")
|