inital commit
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from admin_confirm.admin import AdminConfirmMixin
|
||||
|
||||
from .models import Item, Inventory, Shop
|
||||
|
||||
|
||||
class ItemAdmin(AdminConfirmMixin, admin.ModelAdmin):
|
||||
list_display = ('name', 'price', 'currency')
|
||||
change_needs_confirmation = True
|
||||
|
||||
|
||||
class InventoryAdmin(admin.ModelAdmin):
|
||||
list_display = ('shop', 'item', 'quantity')
|
||||
|
||||
|
||||
class ShopAdmin(admin.ModelAdmin):
|
||||
pass
|
||||
|
||||
|
||||
admin.site.register(Item, ItemAdmin)
|
||||
admin.site.register(Inventory, InventoryAdmin)
|
||||
admin.site.register(Shop, ShopAdmin)
|
||||
@@ -0,0 +1,5 @@
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class MarketConfig(AppConfig):
|
||||
name = 'market'
|
||||
@@ -0,0 +1,32 @@
|
||||
# Generated by Django 3.0.10 on 2020-10-31 20:41
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Item',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=120)),
|
||||
('price', models.DecimalField(decimal_places=2, max_digits=5)),
|
||||
('currency', models.CharField(choices=[('CAD', 'CAD'), ('USD', 'USD')], max_length=3)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Stock',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('quantity', models.PositiveIntegerField()),
|
||||
('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='all_stock', to='market.Item')),
|
||||
],
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,44 @@
|
||||
# Generated by Django 3.0.10 on 2020-10-31 20:57
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('market', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Inventory',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('quantity', models.PositiveIntegerField()),
|
||||
('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='market.Item')),
|
||||
],
|
||||
options={
|
||||
'ordering': ['shop', 'item__name'],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Shop',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=120)),
|
||||
],
|
||||
),
|
||||
migrations.DeleteModel(
|
||||
name='Stock',
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='inventory',
|
||||
name='shop',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='inventory', to='market.Shop'),
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='inventory',
|
||||
unique_together={('shop', 'item')},
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,31 @@
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Item(models.Model):
|
||||
VALID_CURRENCIES = (
|
||||
('CAD', 'CAD'),
|
||||
('USD', 'USD'),
|
||||
)
|
||||
name = models.CharField(max_length=120)
|
||||
price = models.DecimalField(max_digits=5, decimal_places=2)
|
||||
currency = models.CharField(max_length=3, choices=VALID_CURRENCIES)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class Shop(models.Model):
|
||||
name = models.CharField(max_length=120)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class Inventory(models.Model):
|
||||
class Meta:
|
||||
unique_together = ['shop', 'item']
|
||||
ordering = ['shop', 'item__name']
|
||||
|
||||
shop = models.ForeignKey(to=Shop, on_delete=models.CASCADE, related_name='inventory')
|
||||
item = models.ForeignKey(to=Item, on_delete=models.CASCADE)
|
||||
quantity = models.PositiveIntegerField()
|
||||
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
@@ -0,0 +1,3 @@
|
||||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
Reference in New Issue
Block a user