Przeglądaj źródła

add new model for location manager

Mohidul Islam 4 lat temu
rodzic
commit
d5330aa7b7
3 zmienionych plików z 43 dodań i 3 usunięć
  1. 7 2
      gauth/admin.py
  2. 27 0
      gauth/migrations/0015_auto_20201230_0940.py
  3. 9 1
      gauth/models.py

+ 7 - 2
gauth/admin.py

@@ -1,5 +1,5 @@
 from django.contrib import admin
-from .models import UserModel, Location
+from .models import UserModel, Location, LocationManager
 from django.contrib.auth.models import Group
 
 
@@ -10,10 +10,15 @@ class UserModelAdmin(admin.ModelAdmin):
 
 class LocationsAdmin(admin.ModelAdmin):
     list_display = ['location_id', 'care_name', 'location_name', 'website_url',
-                    'review_site_url', 'recipient_email']
+                    'review_site_url']
+
+
+class LocationManagerAdmin(admin.ModelAdmin):
+    list_display = ['name', 'email', 'location']
 
 
 admin.site.register(Location, LocationsAdmin)
+admin.site.register(LocationManager, LocationManagerAdmin)
 
 admin.site.register(UserModel, UserModelAdmin)
 admin.site.unregister(Group)

+ 27 - 0
gauth/migrations/0015_auto_20201230_0940.py

@@ -0,0 +1,27 @@
+# Generated by Django 3.0.4 on 2020-12-30 09:40
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('gauth', '0014_auto_20200825_0954'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='location',
+            name='recipient_email',
+        ),
+        migrations.CreateModel(
+            name='LocationManager',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('name', models.CharField(max_length=255)),
+                ('email', models.EmailField(max_length=254)),
+                ('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gauth.Location')),
+            ],
+        ),
+    ]

+ 9 - 1
gauth/models.py

@@ -19,8 +19,16 @@ class Location(models.Model):
     location_name = models.CharField(max_length=120)
     website_url = models.URLField()
     review_site_url = models.URLField(null=True, blank=True)
-    recipient_email = models.EmailField(null=True, blank=True)
     owner = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
 
     def __str__(self):
         return self.care_name if self.care_name else self.location_name
+
+
+class LocationManager(models.Model):
+    name = models.CharField(max_length=255)
+    email = models.EmailField()
+    location = models.ForeignKey(Location, on_delete=models.CASCADE)
+
+    def __str__(self):
+        return f"{self.name} - {self.location.care_name}"