<h1>Hello world11</h1>
from django.conf import settings
from django.db
import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('catalog', '0002_product_stock'),
]
operations = [
migrations.AddField(
model_name='product',
name='poster',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CAS$
),
]
from django.contrib.auth.models import AbstractUser
from django.db import models
from django.conf import settings
from django.urls import reverse
from django.template.defaultfilters import slugify
class User(AbstractUser):
pass
class Category(models.Model):
name = models.CharField(max_length=200, db_index=True)
slug = models.SlugField(max_length=200, unique=True)
class Meta:
ordering = ('name',)
verbose_name = 'category'
verbose_name_plural = 'categories'
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.name)
super(Category, self).save(*args, **kwargs)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('catalog:product_list_by_category', args=[self.slug])
class Product(models.Model):
user = models.ForeignKey(
settings.AUTH_USER_MODEL, related_name='products_created', on_delete=models.CA$
category = models.ForeignKey(
Category, related_name='products', on_delete=models.CASCADE)
name = models.CharField(max_length=200, db_index=True)
slug = models.SlugField(max_length=200, db_index=True)
image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True)
description = models.TextField(blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2)
available = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
stock = models.PositiveIntegerField(default=1)
poster = models.ForeignKey(User, on_delete=models.CASCADE, related_name="user_prod$
class Meta:
ordering = ('name',)
index_together = (('id', 'slug'),)
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.name)
super(Product, self).save(*args, **kwargs)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('catalog:product_detail', args=[self.id, self.slug])
from django.db import models
from django.contrib.auth.models import User
from PIL import Image
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
def __str__(self):
return f'{self.user.username} Profile'
def save(self):
super().save()
img = Image.open(self.image.path)
if img.height > 300 or img.width > 300:
output_size = (300, 300)
img.thumbnail(output_size)
img.save(self.image.path)