Reset migrations and add user filed

This commit is contained in:
Jannis Portmann 2023-04-05 18:18:55 +02:00
parent 3691061f71
commit 4e01a6ff90
6 changed files with 65 additions and 73 deletions

View file

@ -1,6 +1,6 @@
from django import forms from django import forms
from .models import User, Offer from .models import PflaenzliUser, Offer
class CreateOfferForm(forms.ModelForm): class CreateOfferForm(forms.ModelForm):

View file

@ -1,8 +1,10 @@
# Generated by Django 4.1.7 on 2023-02-19 12:38 # Generated by Django 4.1.7 on 2023-04-05 15:27
from django.conf import settings from django.conf import settings
import django.contrib.auth.models
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration): class Migration(migrations.Migration):
@ -10,10 +12,59 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("auth", "0012_alter_user_first_name_max_length"),
] ]
operations = [ operations = [
migrations.CreateModel(
name="PflaenzliUser",
fields=[
(
"user_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to=settings.AUTH_USER_MODEL,
),
),
("zipcode", models.PositiveIntegerField()),
],
options={
"verbose_name": "user",
"verbose_name_plural": "users",
"abstract": False,
},
bases=("auth.user",),
managers=[
("objects", django.contrib.auth.models.UserManager()),
],
),
migrations.CreateModel(
name="Wish",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(default=django.utils.timezone.now)),
("title", models.CharField(max_length=200)),
(
"user",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="pflaenzli.pflaenzliuser",
),
),
],
),
migrations.CreateModel( migrations.CreateModel(
name="Offer", name="Offer",
fields=[ fields=[
@ -26,14 +77,16 @@ class Migration(migrations.Migration):
verbose_name="ID", verbose_name="ID",
), ),
), ),
("created", models.DateTimeField(default=django.utils.timezone.now)),
("title", models.CharField(max_length=50)), ("title", models.CharField(max_length=50)),
("description", models.TextField(max_length=5000)), ("description", models.TextField(max_length=5000)),
("zipcode", models.IntegerField(blank=True, default=0)), ("zipcode", models.IntegerField(blank=True, default=0)),
("image", models.ImageField(upload_to="uploads/")),
( (
"user", "user",
models.ForeignKey( models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE, on_delete=django.db.models.deletion.CASCADE,
to=settings.AUTH_USER_MODEL, to="pflaenzli.pflaenzliuser",
), ),
), ),
], ],

View file

@ -1,45 +0,0 @@
# Generated by Django 4.1.7 on 2023-02-19 22:03
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("pflaenzli", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="offer",
name="created",
field=models.DateTimeField(default=django.utils.timezone.now),
),
migrations.CreateModel(
name="Wish",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("created", models.DateTimeField(default=django.utils.timezone.now)),
("title", models.CharField(max_length=200)),
(
"user",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to=settings.AUTH_USER_MODEL,
),
),
],
),
]

View file

@ -1,19 +0,0 @@
# Generated by Django 4.1.7 on 2023-02-19 22:09
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("pflaenzli", "0002_offer_created_wish"),
]
operations = [
migrations.AddField(
model_name="offer",
name="image",
field=models.ImageField(default="placeholder.png", upload_to="uplaods"),
preserve_default=False,
),
]

View file

@ -5,9 +5,13 @@ from django.utils import timezone
from django.core.files.storage import default_storage from django.core.files.storage import default_storage
class PflaenzliUser(User):
zipcode = models.PositiveIntegerField()
class Offer(models.Model): class Offer(models.Model):
created = models.DateTimeField(default=timezone.now) created = models.DateTimeField(default=timezone.now)
user = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(PflaenzliUser, on_delete=models.CASCADE)
title = models.CharField(max_length=50) title = models.CharField(max_length=50)
description = models.TextField(max_length=5000) description = models.TextField(max_length=5000)
zipcode = models.IntegerField(blank=True, default=0) zipcode = models.IntegerField(blank=True, default=0)
@ -16,7 +20,7 @@ class Offer(models.Model):
class Wish(models.Model): class Wish(models.Model):
created = models.DateTimeField(default=timezone.now) created = models.DateTimeField(default=timezone.now)
user = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(PflaenzliUser, on_delete=models.CASCADE)
title = models.CharField(max_length=200) title = models.CharField(max_length=200)

View file

@ -2,11 +2,10 @@ from django.shortcuts import render, get_object_or_404, redirect
from django.utils import timezone from django.utils import timezone
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.http import HttpResponseForbidden from django.http import HttpResponseForbidden
from .forms import CreateOfferForm from .forms import CreateOfferForm
from .models import Offer, Wish from .models import PflaenzliUser, Offer, Wish
from .mail import send_offer_email from .mail import send_offer_email
from .upload import generate_unique_filename from .upload import generate_unique_filename
@ -93,7 +92,7 @@ def offer_trade(request, offer_id):
def user_detail(request, user_id): def user_detail(request, user_id):
user = get_object_or_404(User, id=user_id) user = get_object_or_404(PflaenzliUser, id=user_id)
offers = Offer.objects.filter(user=user_id) offers = Offer.objects.filter(user=user_id)
wishes = Wish.objects.filter(user=user_id) wishes = Wish.objects.filter(user=user_id)