У меня есть приложение для управления запасами, а внутри находится класс Item()
, представляющий продукт. Все устройства будут сериализованы, поэтому позже будет класс, представляющий каждое устройство с именем OnHand()
.
Модель изделия
class Item(models.Model):
name = models.CharField(max_length=100)
description = models.CharField(max_length=100)
manufacturer = models.ForeignKey('Manufacturer', blank=True, null=True, on_delete=models.SET_NULL)
introduction = models.DateField(auto_now=True)
quanity = models.IntegerField(default=0)
is_retired = models.BooleanField(default=False)
tags = models.ManyToManyField(Tag)
def __str__(self):
return self.name
def add(self):
pass
def remove(self):
pass
def retire(self): # Rex came up with this, roll credits.
pass
def count(self):
pass
Мне нужен атрибут для on_hand , который имеет отношение типа ManyToOne .
Концепция модели OnHand
class OnHand(models.Model):
name = models.CharFiled(max_length=100)
serial = models.CharField(max_length=80)
asset = models.CharField(max_length=20)
def __str__(self):
return self.serial
При создании нового объекта OnHand я бы хотел связать его с Item . Как бы я поступил так?
Пример конструкции
- Пункт
- Имя = MacBook Pro
- Описание = 15,5 "MacBook Pro
- OnHand
- серийный номер, бирка актива
- серийный номер, бирка актива
- серийный номер, бирка актива
Текущий тестовый код
def make_macbook():
""" Create a Manufacturer for Apple """
apple = Manufacturer(name='Apple', rep_name='Jason Wilburn', support_number='1-800-Apple')
apple.save()
print('Manufacturer name: {}'.format(apple))
""" Create a Category for Laptops """
laptop = Category(name='Laptops')
laptop.save()
print('Category name: {}'.format(laptop))
""" Create a Tag for Mac """
mac = Tag(title='mac')
mac.save()
print('Tag name: {}'.format(mac))
""" Create a MacBook Item """
macbook = Item(name='Macbook Pro', description='15.5" Macbook Pro, 2018 Model', manufacturer=apple)
macbook.save()
print('Item name: {}'.format(macbook))
""" Create a MacBook OnHand item """
newMac = OnHand(name='MacBook Pro 15.5"', serial='SC02XP0NRJGH5', asset='DEPSC02XP0NRJGH5', product=macbook)
newMac.save()
""" Add to Item's OnHand """
Теперь я в основном застрял при добавлении к Item () OnHand для создания отношений.