Skip to content

Commit 240ea6a

Browse files
committed
Add GeoKrety-Type
1 parent 6866014 commit 240ea6a

File tree

6 files changed

+38
-3
lines changed

6 files changed

+38
-3
lines changed

geokrety_api_models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from .badge import Badge
44
from .geokret import Geokret
5+
from .geokrety_type import GeokretyType
56
from .move import Move
67
from .move_comment import MoveComment
78
from .news import News
@@ -12,6 +13,7 @@
1213
__all__ = [
1314
"Badge",
1415
"Geokret",
16+
"GeokretyType",
1517
"Move",
1618
"MoveComment",
1719
"News",

geokrety_api_models/geokret.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,18 @@ class Geokret(Base):
4747
nullable=False,
4848
default='',
4949
)
50-
type = Column(
50+
type_id = Column(
5151
'typ',
5252
Enum('0', '1', '2', '3', '4'),
53+
ForeignKey('gk-geokrety-types.id'),
5354
key='type',
5455
nullable=False,
5556
)
57+
type = relationship(
58+
"GeokretyType",
59+
foreign_keys=[type_id],
60+
)
61+
5662
missing = Column(
5763
'missing',
5864
Boolean,
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from .base import Base
4+
from sqlalchemy import (Column, String)
5+
6+
7+
class GeokretyType(Base):
8+
__tablename__ = 'gk-geokrety-types'
9+
10+
id = Column(
11+
'id',
12+
String(1),
13+
primary_key=True,
14+
key='id',
15+
)
16+
17+
name = Column(
18+
'name',
19+
String(75),
20+
key='name',
21+
nullable=False,
22+
)

tests/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77

88
from geokrety_api_models.base import Base
99
from .mixins.responses_mixin import ResponsesMixin
10+
from geokrety_api_models.utilities.const import GEOKRET_TYPES_TEXT
11+
from geokrety_api_models import GeokretyType
1012

1113

1214
def setup_module():
@@ -33,6 +35,9 @@ def setUp(self):
3335
super(DatabaseTest, self).setUp()
3436
self.__transaction = connection.begin_nested()
3537
self.session = Session(connection)
38+
for (key, val) in GEOKRET_TYPES_TEXT.iteritems():
39+
geokret = GeokretyType(id=key, name=val)
40+
self.session.add(geokret)
3641

3742
self.mixer = Mixer(session=self.session, commit=True)
3843

tests/test_move.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class TestMove(DatabaseTest):
1313
def test_create(self):
1414
user = User(name="username", password="password", email="[email protected]")
1515
geokret = Geokret(name="My GeoKret",
16-
type=GEOKRET_TYPE_TRADITIONAL,
16+
type_id=GEOKRET_TYPE_TRADITIONAL,
1717
created_on_datetime="2019-01-19T22:46:44")
1818
move1 = Move(geokret=geokret,
1919
moved_on_datetime="2019-01-19T22:46:44",

tests/utilities/test_move_tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def _blend(self):
2828
self.user3 = self.mixer.blend(User)
2929
self.user4 = self.mixer.blend(User)
3030

31-
self.geokret1 = self.mixer.blend(Geokret, type=GEOKRET_TYPE_TRADITIONAL,
31+
self.geokret1 = self.mixer.blend(Geokret, type_id=GEOKRET_TYPE_TRADITIONAL,
3232
owner=self.user1, holder=self.user1, tracking_code="ABC123",
3333
created_on_datetime="2017-12-01T14:18:22")
3434

0 commit comments

Comments
 (0)