mirror of
https://github.com/Rushilwiz/rounded.git
synced 2025-04-16 09:00:18 -04:00
51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
from django.contrib.auth.models import User
|
|
|
|
from django.db import models
|
|
|
|
# Create your models here.
|
|
class Wallet (models.Model):
|
|
address = models.CharField(max_length=100)
|
|
|
|
def __str__(self):
|
|
return self.address[0:4]
|
|
# return f'{self.consumer.user.username}\'s wallet'
|
|
|
|
class Meta:
|
|
verbose_name_plural = "Wallets"
|
|
|
|
class Consumer (models.Model):
|
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
|
wallet = models.OneToOneField(Wallet, null=True, blank=True, on_delete=models.CASCADE)
|
|
phone = models.CharField(max_length=32, null=True, blank=True),
|
|
|
|
def __str__(self):
|
|
return f'{self.user.username}\'s profile'
|
|
|
|
class Meta:
|
|
verbose_name_plural = "Consumers"
|
|
|
|
class Foundation (models.Model):
|
|
wallet = models.OneToOneField(Wallet, on_delete=models.CASCADE)
|
|
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
|
name = models.CharField(max_length=100, null=True, blank=True)
|
|
description = models.TextField(null=True, blank=True)
|
|
hex = models.CharField(max_length=200, null=True, blank=True)
|
|
|
|
def __str__(self):
|
|
return f'{self.user.username}\'s foundation'
|
|
|
|
class Meta:
|
|
verbose_name_plural = "Foundations"
|
|
|
|
class FoundationOrder (models.Model):
|
|
consumer = models.ForeignKey(Consumer, related_name='foundation_orders', on_delete=models.CASCADE)
|
|
foundation = models.ForeignKey(Foundation, related_name='foundation_orders', on_delete=models.CASCADE)
|
|
|
|
price = models.DecimalField(max_digits=9, decimal_places=2)
|
|
uuid = models.UUIDField(primary_key=True, unique=True)
|
|
|
|
class Meta:
|
|
verbose_name_plural = "Foundation Orders"
|
|
|
|
def __str__(self):
|
|
return f'{self.consumer.user.username}\'s Order to {self.foundation.name} for {self.price}' |