jrdb-model 0.2.2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/PKG-INFO +1 -1
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/pyproject.toml +1 -1
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/bangumi.py +22 -7
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/kaisai.py +4 -2
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/racehorse.py +13 -7
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/seiseki.py +4 -1
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/PKG-INFO +1 -1
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/tests/test_integration.py +8 -4
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/LICENSE +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/README.md +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/setup.cfg +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/__init__.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/__init__.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/calculated_score.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/predict.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/predict_race.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/returninfo.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/seisekirace.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/trainanalysis.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/trainoikiri.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/umaren_odds.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/wakuren_odds.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/domain/wide_odds.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/__init__.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/horsebase.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/jockey.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/mastercode.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/master/trainer.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model/sessioncontroll.py +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/SOURCES.txt +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/dependency_links.txt +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/requires.txt +0 -0
- {jrdb_model-0.2.2 → jrdb_model-0.2.4}/src/jrdb_model.egg-info/top_level.txt +0 -0
|
@@ -1,35 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
"""レースデータ."""
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
2
4
|
|
|
3
5
|
from sqlalchemy import ForeignKey
|
|
4
6
|
from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
|
|
5
7
|
|
|
6
8
|
from ..sessioncontroll import db
|
|
9
|
+
from .predict_race import PredictRaceData
|
|
10
|
+
from .racehorse import RacehorseData
|
|
11
|
+
from .returninfo import ReturninfoData
|
|
12
|
+
from .umaren_odds import UmarenOddsData
|
|
13
|
+
from .wakuren_odds import WakurenOddsData
|
|
14
|
+
from .wide_odds import WideOddsData
|
|
7
15
|
|
|
8
16
|
|
|
9
17
|
class BangumiData(db.Model):
|
|
18
|
+
"""レースデータ.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
db (_type_): _description_
|
|
22
|
+
|
|
23
|
+
"""
|
|
24
|
+
|
|
10
25
|
__tablename__ = "bangumi"
|
|
11
26
|
racekey: Mapped[str] = mapped_column(primary_key=True)
|
|
12
27
|
# 親に対して
|
|
13
28
|
kaisaikey: Mapped[str] = mapped_column(ForeignKey("kaisai.kaisaikey"))
|
|
14
29
|
# 子に対して
|
|
15
|
-
racehorses: Mapped[List["RacehorseData"]] = relationship(
|
|
30
|
+
racehorses: Mapped[Optional[List["RacehorseData"]]] = relationship(
|
|
16
31
|
"RacehorseData", backref=backref("bangumi"), innerjoin=True
|
|
17
32
|
)
|
|
18
33
|
|
|
19
34
|
# 1:1
|
|
20
|
-
returninfo: Mapped[
|
|
35
|
+
returninfo: Mapped[Optional["ReturninfoData"]] = relationship(
|
|
21
36
|
"ReturninfoData", uselist=False, backref=backref("bangumi")
|
|
22
37
|
)
|
|
23
|
-
umaren_odds: Mapped[
|
|
38
|
+
umaren_odds: Mapped[Optional["UmarenOddsData"]] = relationship(
|
|
24
39
|
"UmarenOddsData", uselist=False, backref=backref("bangumi")
|
|
25
40
|
)
|
|
26
|
-
wide_odds: Mapped[
|
|
41
|
+
wide_odds: Mapped[Optional["WideOddsData"]] = relationship(
|
|
27
42
|
"WideOddsData", uselist=False, backref=backref("bangumi")
|
|
28
43
|
)
|
|
29
|
-
wakuren_odds: Mapped[
|
|
44
|
+
wakuren_odds: Mapped[Optional["WakurenOddsData"]] = relationship(
|
|
30
45
|
"WakurenOddsData", uselist=False, backref=backref("bangumi")
|
|
31
46
|
)
|
|
32
|
-
predict_race: Mapped[
|
|
47
|
+
predict_race: Mapped[Optional["PredictRaceData"]] = relationship(
|
|
33
48
|
"PredictRaceData", uselist=False, backref=backref("bangumi")
|
|
34
49
|
)
|
|
35
50
|
ymd: Mapped[str] = mapped_column()
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"""開催データ定義."""
|
|
2
2
|
|
|
3
|
-
from typing import List
|
|
3
|
+
from typing import List, Optional
|
|
4
4
|
|
|
5
5
|
from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
|
|
6
6
|
|
|
7
|
+
from jrdb_model import BangumiData
|
|
8
|
+
|
|
7
9
|
from ..sessioncontroll import db
|
|
8
10
|
|
|
9
11
|
|
|
@@ -13,7 +15,7 @@ class KaisaiData(db.Model):
|
|
|
13
15
|
__tablename__ = "kaisai"
|
|
14
16
|
kaisaikey: Mapped[int] = mapped_column(primary_key=True)
|
|
15
17
|
# 子に対して
|
|
16
|
-
races: Mapped[List["BangumiData"]] = relationship(
|
|
18
|
+
races: Mapped[Optional[List["BangumiData"]]] = relationship(
|
|
17
19
|
"BangumiData", backref=backref("kaisai"), innerjoin=True
|
|
18
20
|
)
|
|
19
21
|
ymd: Mapped[int] = mapped_column()
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"""競走馬データ."""
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Optional
|
|
4
4
|
|
|
5
5
|
from sqlalchemy import ForeignKey
|
|
6
6
|
from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
|
|
7
7
|
|
|
8
|
+
from ..master.horsebase import HorsebaseData
|
|
8
9
|
from ..sessioncontroll import db
|
|
10
|
+
from .calculated_score import CalculatedScoreData
|
|
11
|
+
from .predict import PredictData
|
|
12
|
+
from .seiseki import SeisekiData
|
|
13
|
+
from .trainanalysis import TrainAnalysisData
|
|
14
|
+
from .trainoikiri import TrainOikiriData
|
|
9
15
|
|
|
10
16
|
|
|
11
17
|
class RacehorseData(db.Model):
|
|
@@ -22,22 +28,22 @@ class RacehorseData(db.Model):
|
|
|
22
28
|
# 親に対して
|
|
23
29
|
racekey: Mapped[str] = mapped_column(ForeignKey("bangumi.racekey"))
|
|
24
30
|
# 1:1
|
|
25
|
-
trainanalysis: Mapped[
|
|
31
|
+
trainanalysis: Mapped[Optional["TrainAnalysisData"]] = relationship(
|
|
26
32
|
"TrainAnalysisData", uselist=False, backref=backref("racehorse"), innerjoin=True
|
|
27
33
|
)
|
|
28
|
-
trainoikiri: Mapped[
|
|
34
|
+
trainoikiri: Mapped[Optional["TrainOikiriData"]] = relationship(
|
|
29
35
|
"TrainOikiriData", uselist=False, backref=backref("racehorse"), innerjoin=True
|
|
30
36
|
)
|
|
31
|
-
horse_base: Mapped[
|
|
37
|
+
horse_base: Mapped[Optional["HorsebaseData"]] = relationship(
|
|
32
38
|
"HorsebaseData", uselist=False, backref=backref("racehorse"), innerjoin=True
|
|
33
39
|
)
|
|
34
|
-
result: Mapped[
|
|
40
|
+
result: Mapped[Optional["SeisekiData"]] = relationship(
|
|
35
41
|
"SeisekiData", uselist=False, backref=backref("racehorse"), innerjoin=False
|
|
36
42
|
)
|
|
37
|
-
predict: Mapped[
|
|
43
|
+
predict: Mapped[Optional["PredictData"]] = relationship(
|
|
38
44
|
"PredictData", uselist=False, backref=backref("racehorse"), innerjoin=False
|
|
39
45
|
)
|
|
40
|
-
calculated_score: Mapped[
|
|
46
|
+
calculated_score: Mapped[Optional["CalculatedScoreData"]] = relationship(
|
|
41
47
|
"CalculatedScoreData",
|
|
42
48
|
uselist=False,
|
|
43
49
|
backref=backref("racehorse"),
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"""成績データ."""
|
|
2
2
|
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
3
5
|
from sqlalchemy import ForeignKey
|
|
4
6
|
from sqlalchemy.orm import Mapped, backref, mapped_column, relationship
|
|
5
7
|
|
|
6
8
|
from ..sessioncontroll import db
|
|
9
|
+
from .seisekirace import SeisekiRaceData
|
|
7
10
|
|
|
8
11
|
|
|
9
12
|
class SeisekiData(db.Model):
|
|
@@ -24,7 +27,7 @@ class SeisekiData(db.Model):
|
|
|
24
27
|
kai: Mapped[int] = mapped_column()
|
|
25
28
|
day: Mapped[str] = mapped_column()
|
|
26
29
|
raceno: Mapped[int] = mapped_column()
|
|
27
|
-
seisekirace = relationship(
|
|
30
|
+
seisekirace: Mapped[Optional["SeisekiRaceData"]] = relationship(
|
|
28
31
|
"SeisekiRaceData", uselist=False, backref=backref("seiseki")
|
|
29
32
|
)
|
|
30
33
|
num: Mapped[int] = mapped_column()
|
|
@@ -3,21 +3,25 @@
|
|
|
3
3
|
|
|
4
4
|
def test_kaisai():
|
|
5
5
|
"""開催データのジョインロードのテスト."""
|
|
6
|
-
|
|
6
|
+
import os
|
|
7
7
|
from typing import List
|
|
8
8
|
|
|
9
9
|
from sqlalchemy.orm import joinedload
|
|
10
10
|
|
|
11
11
|
from jrdb_model import KaisaiData, create_app
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
os.environ["DB"] = (
|
|
14
|
+
"mariadb+pymysql://astroripple:S#tonoprime0407@sazanami-db/astroripple"
|
|
15
|
+
)
|
|
14
16
|
app = create_app()
|
|
17
|
+
kaisais: List[KaisaiData]
|
|
15
18
|
with app.app_context():
|
|
16
|
-
kaisais
|
|
19
|
+
kaisais = (
|
|
17
20
|
KaisaiData.query.filter(
|
|
18
21
|
KaisaiData.ymd >= 20220101, KaisaiData.ymd <= 20220130
|
|
19
22
|
)
|
|
20
23
|
.options(joinedload("*"))
|
|
21
24
|
.all()
|
|
22
25
|
)
|
|
23
|
-
|
|
26
|
+
assert len(kaisais) == 26
|
|
27
|
+
assert kaisais[0].races[0].racehorses[0].result.order_of_arrival == 4
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|