Add realty models

remotes/origin/setup
Mukhtar 10 years ago
parent 551729ba1d
commit ef774ad3e3
  1. 19
      chat/migrations/0002_auto_20160608_1555.py
  2. 7
      projects/admin.py
  3. 8
      projects/forms.py
  4. 96
      projects/migrations/0020_auto_20160608_1555.py
  5. 31
      projects/migrations/0021_auto_20160608_1602.py
  6. 27
      projects/migrations/0022_auto_20160608_1605.py
  7. 38
      projects/migrations/0023_auto_20160608_1609.py
  8. 103
      projects/models.py

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 12:55
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('chat', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='message',
options={'verbose_name': 'Сообщение', 'verbose_name_plural': 'Сообщения'},
),
]

@ -1,7 +1,8 @@
from django.contrib import admin
from .models import Project, Portfolio, PortfolioPhoto, \
Answer, Realty, Candidate, Order, Stage
Answer, Realty, Candidate, Order, Stage, Country, City,\
BuildingClassfication, ConstructionType
# class UserAdmin(admin.ModelAdmin):
@ -20,3 +21,7 @@ admin.site.register(Realty)
admin.site.register(Order)
admin.site.register(Candidate)
admin.site.register(Stage)
admin.site.register(Country)
admin.site.register(City)
admin.site.register(BuildingClassfication)
admin.site.register(ConstructionType)

@ -27,10 +27,10 @@ class RealtyForm(ModelForm):
model = Realty
fields = (
'name',
'building_classification',
'type_construction',
'country',
'city',
# 'building_classification',
# 'construction_type',
# 'country',
# 'city',
)

@ -0,0 +1,96 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 12:55
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0019_auto_20160607_1916'),
]
operations = [
migrations.CreateModel(
name='BuildingClassfication',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
options={
'verbose_name': 'Тип здания',
'verbose_name_plural': 'Типы здания',
},
),
migrations.CreateModel(
name='City',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
options={
'verbose_name': 'Город',
'verbose_name_plural': 'Города',
},
),
migrations.CreateModel(
name='ConstructionType',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
options={
'verbose_name': 'Вид строительства',
'verbose_name_plural': 'Виды строительства',
},
),
migrations.CreateModel(
name='Country',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
],
options={
'verbose_name': 'Страна',
'verbose_name_plural': 'Страны',
},
),
migrations.RemoveField(
model_name='realty',
name='type_construction',
),
migrations.AlterField(
model_name='answer',
name='cost_type',
field=models.CharField(choices=[('rur', ''), ('usd', 'usd'), ('eur', 'eur')], default='rur', max_length=5),
),
migrations.AlterField(
model_name='realty',
name='building_classification',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.BuildingClassfication'),
),
migrations.AlterField(
model_name='realty',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='stage',
name='cost_type',
field=models.CharField(choices=[('rur', ''), ('usd', 'usd'), ('eur', 'eur')], default='rur', max_length=5),
),
migrations.AddField(
model_name='city',
name='country',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cities', to='projects.Country'),
),
migrations.AddField(
model_name='realty',
name='construction_type',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.ConstructionType'),
preserve_default=False,
),
]

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 13:02
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('projects', '0020_auto_20160608_1555'),
]
operations = [
migrations.RemoveField(
model_name='realty',
name='building_classification',
),
migrations.RemoveField(
model_name='realty',
name='city',
),
migrations.RemoveField(
model_name='realty',
name='construction_type',
),
migrations.RemoveField(
model_name='realty',
name='country',
),
]

@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 13:05
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0021_auto_20160608_1602'),
]
operations = [
migrations.AddField(
model_name='realty',
name='building_classification',
field=models.CharField(default=None, max_length=255),
preserve_default=False,
),
migrations.AddField(
model_name='realty',
name='construction_type',
field=models.CharField(default=None, max_length=255),
preserve_default=False,
),
]

@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 13:09
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0022_auto_20160608_1605'),
]
operations = [
migrations.AddField(
model_name='realty',
name='city',
field=models.CharField(default=None, max_length=50),
preserve_default=False,
),
migrations.AddField(
model_name='realty',
name='country',
field=models.CharField(default=None, max_length=50),
preserve_default=False,
),
migrations.AlterField(
model_name='realty',
name='building_classification',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.BuildingClassfication'),
),
migrations.AlterField(
model_name='realty',
name='construction_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.ConstructionType'),
),
]

@ -5,33 +5,70 @@ from django.utils import timezone
from users.models import User
from specializations.models import Specialization
COST_TYPE_CHOICES = (
('rur', 'rur'),
CURRENCIES = (
('rur', ''),
('usd', 'usd'),
('eur', 'eur'),
)
TERM_TYPE_CHOICES = (
TERMS = (
('hour', 'hour'),
('day', 'day'),
('month', 'month'),
)
BUILDING_CLASSIFICATION_CHOICES = (
class BuildingClassfication(models.Model):
name = models.CharField(max_length=255)
)
TYPE_CONSTRUCTION_CHOICES = (
def __str__(self):
return self.name
)
class Meta:
verbose_name = 'Тип здания'
verbose_name_plural = 'Типы здания'
class ConstructionType(models.Model):
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Meta:
verbose_name = 'Вид строительства'
verbose_name_plural = 'Виды строительства'
class Country(models.Model):
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Meta:
verbose_name = 'Страна'
verbose_name_plural = 'Страны'
class City(models.Model):
name = models.CharField(max_length=255)
country = models.ForeignKey(Country, related_name='cities')
def __str__(self):
return self.name
class Meta:
verbose_name = 'Город'
verbose_name_plural = 'Города'
class Realty(models.Model):
name = models.CharField(max_length=255)
building_classification = models.CharField(max_length=50)
type_construction = models.CharField(max_length=50)
building_classification = models.ForeignKey(BuildingClassfication, related_name='realties')
construction_type = models.ForeignKey(ConstructionType, related_name='realties')
country = models.CharField(max_length=50)
city = models.CharField(max_length=50)
user = models.ForeignKey(User, related_name='realty')
user = models.ForeignKey(User, related_name='realties')
def __str__(self):
return self.name
@ -42,11 +79,10 @@ class Realty(models.Model):
class Project(models.Model):
TYPE_WORK_CHOICES = (
WORK_TYPE = (
('1', 'проектирование'),
('2', 'техническое сопровождение')
)
name = models.CharField(max_length=255)
price = models.DecimalField(max_digits=10, decimal_places=0)
specialization = models.ForeignKey(Specialization, related_name='projects')
@ -54,7 +90,7 @@ class Project(models.Model):
user = models.ForeignKey(User, related_name='projects')
budget = models.CharField(max_length=20, blank=True)
cro = models.BooleanField(default=False)
type_work = models.CharField(max_length=20, choices=TYPE_WORK_CHOICES, default='1')
type_work = models.CharField(max_length=20, choices=WORK_TYPE, default='1')
term_cost = models.BooleanField(default=False)
secure_transaction = models.BooleanField(default=False)
realty = models.ForeignKey(Realty, null=True, related_name='projects')
@ -68,6 +104,25 @@ class Project(models.Model):
verbose_name_plural = 'Проекты'
class Answer(models.Model):
cost = models.DecimalField(max_digits=10, decimal_places=0)
cost_type = models.CharField(max_length=5, choices=CURRENCIES, default='rur')
text = models.TextField()
term = models.IntegerField(default=0)
term_type = models.CharField(max_length=10, choices=TERMS, default='hour')
project = models.ForeignKey(Project, related_name='answers')
user = models.ForeignKey(User, related_name='answers')
created = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.text
class Meta:
verbose_name = 'Ответ к проекту'
verbose_name_plural = 'Ответы к проектам'
ordering = ('-created',)
class Order(models.Model):
project = models.OneToOneField(Project, related_name='order')
contractor = models.ForeignKey(User, null=True, blank=True)
@ -87,9 +142,9 @@ class Stage(models.Model):
name = models.CharField(max_length=255)
result = models.CharField(max_length=255)
cost = models.DecimalField(max_digits=10, decimal_places=0)
cost_type = models.CharField(max_length=5, choices=COST_TYPE_CHOICES, default='rur')
cost_type = models.CharField(max_length=5, choices=CURRENCIES, default='rur')
term = models.IntegerField(default=0)
term_type = models.CharField(max_length=10, choices=TERM_TYPE_CHOICES, default='hour')
term_type = models.CharField(max_length=10, choices=TERMS, default='hour')
order = models.ForeignKey(Order, related_name='stages')
def __str__(self):
@ -100,24 +155,6 @@ class Stage(models.Model):
verbose_name_plural = 'Этапы'
class Answer(models.Model):
cost = models.DecimalField(max_digits=10, decimal_places=0)
cost_type = models.CharField(max_length=5, choices=COST_TYPE_CHOICES, default='rur')
text = models.TextField()
term = models.IntegerField(default=0)
term_type = models.CharField(max_length=10, choices=TERM_TYPE_CHOICES, default='hour')
project = models.ForeignKey(Project, related_name='answers')
user = models.ForeignKey(User, related_name='answers')
created = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.text
class Meta:
verbose_name = 'Ответ к проекту'
verbose_name_plural = 'Ответы к проектам'
ordering = ('-created',)
class Candidate(models.Model):
answer = models.ForeignKey(Answer, related_name='candidates')

Loading…
Cancel
Save