69 lines
3.4 KiB
Python
69 lines
3.4 KiB
Python
# Generated by Django 5.2.7 on 2026-06-04 16:35
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='PropertyEntry',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('source', models.CharField(choices=[('current_location', 'Current location'), ('photo', 'Photo upload')], max_length=32)),
|
|
('address', models.CharField(blank=True, max_length=255)),
|
|
('latitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
|
|
('longitude', models.DecimalField(blank=True, decimal_places=6, max_digits=9, null=True)),
|
|
('phone', models.CharField(blank=True, max_length=40)),
|
|
('email', models.EmailField(blank=True, max_length=254)),
|
|
('listing_type', models.CharField(choices=[('sale', 'For sale'), ('rental', 'For rent'), ('unknown', 'Not sure')], default='unknown', max_length=20)),
|
|
('photo', models.ImageField(blank=True, upload_to='properties/%Y/%m/')),
|
|
('extracted_text', models.TextField(blank=True)),
|
|
('has_gps_data', models.BooleanField(default=False)),
|
|
('idealista_url', models.URLField(blank=True)),
|
|
('is_flagged', models.BooleanField(default=False)),
|
|
('flag_count', models.PositiveIntegerField(default=0)),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
],
|
|
options={
|
|
'verbose_name_plural': 'property entries',
|
|
'ordering': ['-created_at'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='PropertyFlag',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('reason', models.CharField(max_length=160)),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('property_entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='flags', to='core.propertyentry')),
|
|
],
|
|
options={
|
|
'ordering': ['-created_at'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='PropertySuggestion',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('address', models.CharField(blank=True, max_length=255)),
|
|
('phone', models.CharField(blank=True, max_length=40)),
|
|
('email', models.EmailField(blank=True, max_length=254)),
|
|
('listing_type', models.CharField(blank=True, choices=[('sale', 'For sale'), ('rental', 'For rent'), ('unknown', 'Not sure')], max_length=20)),
|
|
('note', models.TextField(blank=True)),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('property_entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='suggestions', to='core.propertyentry')),
|
|
],
|
|
options={
|
|
'ordering': ['-created_at'],
|
|
},
|
|
),
|
|
]
|