Compare commits
2 Commits
b9dc545ebb
...
84879b89d1
Author | SHA1 | Date | |
---|---|---|---|
84879b89d1 | |||
df31c1aa49 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -8,4 +8,5 @@
|
|||||||
# Python cache:
|
# Python cache:
|
||||||
__pycache__/
|
__pycache__/
|
||||||
# Tests:
|
# Tests:
|
||||||
.coverage
|
.coverage
|
||||||
|
*.sqlite3
|
12
src/django_project/asgi.py
Normal file
12
src/django_project/asgi.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
"""
|
||||||
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.asgi import get_asgi_application
|
||||||
|
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_project.settings')
|
||||||
|
|
||||||
|
application = get_asgi_application()
|
@ -31,6 +31,7 @@ ALLOWED_HOSTS = []
|
|||||||
# Application definition
|
# Application definition
|
||||||
|
|
||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
|
'django_stockfin_db',
|
||||||
'django.contrib.admin',
|
'django.contrib.admin',
|
||||||
'django.contrib.auth',
|
'django.contrib.auth',
|
||||||
'django.contrib.contenttypes',
|
'django.contrib.contenttypes',
|
||||||
|
12
src/django_project/wsgi.py
Normal file
12
src/django_project/wsgi.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
"""
|
||||||
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.wsgi import get_wsgi_application
|
||||||
|
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_project.settings')
|
||||||
|
|
||||||
|
application = get_wsgi_application()
|
@ -1,3 +1,8 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
# Register your models here.
|
from django_stockfin_db.models import FinancialPosition
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(FinancialPosition)
|
||||||
|
class FinancialPositionAdmin(admin.ModelAdmin):
|
||||||
|
pass
|
||||||
|
@ -1,8 +1,28 @@
|
|||||||
from django.db.models import Model, CharField, ForeignKey, TextChoices, PROTECT
|
from django.db.models import Model
|
||||||
|
from django.db.models.fields import CharField, FloatField, BooleanField, DateField, DateTimeField
|
||||||
|
from django.db.models.fields.related import ForeignKey
|
||||||
|
from django.db.models.deletion import PROTECT, CASCADE
|
||||||
|
from django.db.models.enums import TextChoices
|
||||||
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
|
|
||||||
class FinancialPosition(Model):
|
class AbstractBaseModel(Model):
|
||||||
|
|
||||||
|
date_created = DateTimeField(
|
||||||
|
auto_now_add=True,
|
||||||
|
verbose_name=_("Time of creation")
|
||||||
|
)
|
||||||
|
date_modified = DateTimeField(
|
||||||
|
auto_now=True,
|
||||||
|
verbose_name=_("Time of last modification")
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
abstract = True
|
||||||
|
|
||||||
|
|
||||||
|
class FinancialPosition(AbstractBaseModel):
|
||||||
|
|
||||||
class FinStmt(TextChoices):
|
class FinStmt(TextChoices):
|
||||||
BS = 'BS', _("Balance Sheet")
|
BS = 'BS', _("Balance Sheet")
|
||||||
@ -27,3 +47,67 @@ class FinancialPosition(Model):
|
|||||||
blank=True,
|
blank=True,
|
||||||
verbose_name=_("Parent position")
|
verbose_name=_("Parent position")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ReportingPeriod(AbstractBaseModel):
|
||||||
|
|
||||||
|
date_end = DateField(
|
||||||
|
db_index=True,
|
||||||
|
verbose_name=_("Period end date")
|
||||||
|
)
|
||||||
|
date_start = DateField(
|
||||||
|
db_index=True,
|
||||||
|
verbose_name=_("Period start date")
|
||||||
|
)
|
||||||
|
verified = BooleanField(
|
||||||
|
default=False,
|
||||||
|
verbose_name=_("Exact dates verified")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Company(AbstractBaseModel):
|
||||||
|
|
||||||
|
symbol = CharField(
|
||||||
|
max_length=16,
|
||||||
|
unique=True,
|
||||||
|
verbose_name=_("Stock ticker symbol")
|
||||||
|
)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name_plural = _("Companies")
|
||||||
|
|
||||||
|
|
||||||
|
class CompanyName(AbstractBaseModel):
|
||||||
|
|
||||||
|
company = ForeignKey(
|
||||||
|
to=Company,
|
||||||
|
on_delete=CASCADE
|
||||||
|
)
|
||||||
|
name = CharField(
|
||||||
|
max_length=1024,
|
||||||
|
db_index=True,
|
||||||
|
verbose_name=_("Name")
|
||||||
|
)
|
||||||
|
name_since = DateField(
|
||||||
|
db_index=True,
|
||||||
|
verbose_name=_("Has this name since")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class Figure(AbstractBaseModel):
|
||||||
|
|
||||||
|
position = ForeignKey(
|
||||||
|
to=FinancialPosition,
|
||||||
|
on_delete=PROTECT
|
||||||
|
)
|
||||||
|
period = ForeignKey(
|
||||||
|
to=ReportingPeriod,
|
||||||
|
on_delete=PROTECT
|
||||||
|
)
|
||||||
|
company = ForeignKey(
|
||||||
|
to=Company,
|
||||||
|
on_delete=PROTECT
|
||||||
|
)
|
||||||
|
value = FloatField(
|
||||||
|
verbose_name=_("Figure on financial statement")
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user