Я пытаюсь создать приложение для django, которое поможет мне управлять своим магазином.Я хотел бы иметь возможность делать счета проще, чем сейчас, но мне нужна помощь с дизайном базы данных.
Прямо сейчас у меня это так:
class Product(models.Model):
name = models.CharField(max_length=200)
price = models.IntegerField()
class Article(models.Model):
product = models.ForeignKey(Producto)
qty = models.IntegerField()
id = models.AutoField(primary_key=True)
class Order(models.Model):
number = models.CharField(max_length=20, primary_key=True)
client = models.ForeignKey(Client)
invent = models.ForeignKey(Invent)
articles = models.ManyToManyField(Article)
Я сомневаюсьчто дизайн продукта-статьи сделан хорошо, должен быть другой способ сделать это, потому что у меня будет много повторяющихся данных в моей БД.
Другой вопрос, если статья «принадлежит» заказу или еслистатья имеет приказ «принадлежать», я не знаю, ясен ли вопрос.
РЕДАКТИРОВАТЬ1:
Моя мысль о товаре:
+------------------+ +----------------+ +------------------+
| Product | | Product | | Article |
|------------------| |----------------| |------------------|
| | | | | |
| Name | | Name <--------+ Product |
| | VS | | | |
| Price | | | | |
| | | Price | | Qty |
| Qty | | | | |
+------------------+ +----------------+ +------------------+
И другой вопрос:
+------------------+ +-----------------+ +--------------+
| Order | | Order <-------+ Article |
|------------------| |-----------------| |--------------|
| Number | +--------------+ | | | |
| +------------->| Article | | Number | | ... |
| Client | +----------> +--------------+ VS | | | |
| | | | | Client | + Order |
| ... | | | | | | |
| | | | | ... | +--------------+
| Articles + + | | |
+------------------+ +-----------------+