Compare commits
2 Commits
b9dc545ebb
...
84879b89d1
Author | SHA1 | Date | |
---|---|---|---|
84879b89d1 | |||
df31c1aa49 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,3 +9,4 @@
|
||||
__pycache__/
|
||||
# Tests:
|
||||
.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
|
||||
|
||||
INSTALLED_APPS = [
|
||||
'django_stockfin_db',
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'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
|
||||
|
||||
# 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 _
|
||||
|
||||
|
||||
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):
|
||||
BS = 'BS', _("Balance Sheet")
|
||||
@ -27,3 +47,67 @@ class FinancialPosition(Model):
|
||||
blank=True,
|
||||
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