I've got:
class Item(models.Model):
item_id = models.IntegerField(default=1, unique=True, primary_key=True)
name = models.CharField(default="None", max_length=256)
class Backpack(models.Model):
items = models.ManyToManyField(Item)
The backpack should store 6 or fewer items. But I can't add to it two the same ones. Can I solve it somehow without 6 different foreign keys in my Backpack model?
You can store how many items of given type you have in relation(through) model.
class BackpackItems(models.Model):
backpack = models.ForeignKey(Backpack, on_delete = models.CASCADE)
item = models.ForeignKey(Item, on_delete = models.CASCADE)
quantity = models.PositiveIntegerField(default = 1)
class Item(models.Model):
item_id = models.IntegerField(default=1, unique=True, primary_key=True)
name = models.CharField(default="None", max_length=256)
class Backpack(models.Model):
items = models.ManyToManyField(Item, through = BackpakItems)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.