HiPhone_BE/market/models.py

62 lines
1.5 KiB
Python
Raw Normal View History

2023-05-01 20:49:25 +09:00
from django.db import models
from user.models import User
class Brand(models.Model):
name = models.CharField(max_length=20)
def __str__(self):
return self.name
class Product(models.Model):
name = models.CharField(max_length=50)
brand = models.ForeignKey(
Brand, on_delete=models.CASCADE, related_name="products"
)
2023-05-03 13:53:40 +09:00
release_date = models.DateField(blank=True, null=True)
2023-05-01 20:49:25 +09:00
2023-05-18 10:03:47 +09:00
class Meta:
ordering = ["-release_date"]
2023-05-01 20:49:25 +09:00
def __str__(self):
return self.name
class Post(models.Model):
STATUS_CHOICES = (
("s", "selling"),
("r", "reserved"),
("d", "done"),
)
product = models.ForeignKey(
Product, on_delete=models.CASCADE, related_name="posts"
)
2023-05-01 20:49:25 +09:00
price = models.IntegerField()
text = models.TextField()
author = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
status = models.CharField(
max_length=1, choices=STATUS_CHOICES, default="s"
)
written_at = models.DateTimeField(auto_now_add=True)
2023-05-18 10:03:47 +09:00
class Meta:
ordering = ["-written_at"]
2023-05-01 20:49:25 +09:00
def __str__(self):
2023-06-16 16:36:27 +09:00
return f"{self.product} : {self.author} : {self.written_at}"
2023-05-01 20:49:25 +09:00
class Image(models.Model):
post = models.ForeignKey(
Post, on_delete=models.CASCADE, related_name="images"
)
2023-05-01 20:49:25 +09:00
image = models.ImageField(upload_to="images", blank=True, null=True)
2023-06-16 16:36:27 +09:00
class Meta:
ordering = ["-pk"]
2023-05-01 20:49:25 +09:00
def __str__(self):
2023-06-16 16:36:27 +09:00
return f"{self.post}"