Skip to content

Commit 3f4cc10

Browse files
author
travissouthard
committed
Change models for bix hours to be many to many
1 parent 04528e7 commit 3f4cc10

2 files changed

Lines changed: 43 additions & 12 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Generated by Django 4.2 on 2023-05-09 14:41
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('api', '0001_initial'),
10+
]
11+
12+
operations = [
13+
migrations.RemoveField(
14+
model_name='tag',
15+
name='locations',
16+
),
17+
migrations.AddField(
18+
model_name='location',
19+
name='tags',
20+
field=models.ManyToManyField(related_name='tags', to='api.tag'),
21+
),
22+
migrations.RemoveField(
23+
model_name='location',
24+
name='hours',
25+
),
26+
migrations.AddField(
27+
model_name='location',
28+
name='hours',
29+
field=models.ManyToManyField(blank=True, related_name='locations', to='api.businesshours'),
30+
),
31+
]

src/django/api/models.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,31 +46,31 @@ def __str__(self):
4646
return self.code
4747

4848

49-
class Location(models.Model):
50-
location = gis_models.PointField(srid=4326)
49+
class Tag(models.Model):
5150
name = models.TextField()
52-
address = models.TextField()
53-
hours = models.ForeignKey(BusinessHours, on_delete=models.CASCADE)
54-
location_type = models.ForeignKey(LocationType, on_delete=models.CASCADE)
55-
price_category = models.CharField(max_length=5)
51+
tag_type = models.ForeignKey(TagType, on_delete=models.CASCADE)
52+
value = models.DecimalField(decimal_places=1, max_digits=2)
5653
created_datetime = models.DateTimeField(auto_now_add=True)
5754
modified_datetime = models.DateTimeField(auto_now=True)
5855

59-
REQUIRED_FIELDS = ["location", "location_type", "created_datetime", "modified_datetime"]
56+
REQUIRED_FIELDS = ["name", "tag_type", "value", "created_datetime", "modified_datetime"]
6057

6158
def __str__(self):
6259
return self.name
6360

6461

65-
class Tag(models.Model):
62+
class Location(models.Model):
63+
location = gis_models.PointField(srid=4326)
6664
name = models.TextField()
67-
locations = models.ManyToManyField(Location, related_name='tags')
68-
tag_type = models.ForeignKey(TagType, on_delete=models.CASCADE)
69-
value = models.DecimalField(decimal_places=1, max_digits=2)
65+
address = models.TextField()
66+
hours = models.ManyToManyField(BusinessHours, related_name='locations', blank=True)
67+
location_type = models.ForeignKey(LocationType, on_delete=models.CASCADE)
68+
tags = models.ManyToManyField(Tag, related_name='tags')
69+
price_category = models.CharField(max_length=5)
7070
created_datetime = models.DateTimeField(auto_now_add=True)
7171
modified_datetime = models.DateTimeField(auto_now=True)
7272

73-
REQUIRED_FIELDS = ["name", "tag_type", "value", "created_datetime", "modified_datetime"]
73+
REQUIRED_FIELDS = ["location", "location_type", "created_datetime", "modified_datetime"]
7474

7575
def __str__(self):
7676
return self.name

0 commit comments

Comments
 (0)