Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unique field values and ManyToMany relationships

Let's say I have a class structure that is defined below:

Class Item(models.Model):
    ...
    price = models.IntegerField()
    upc = models.IntegerField()
    ...

Class Store(models.Model):
    ...
    inventory = models.ManyToManyField(Item)
    ...

Basically I want store models to have access to the same inventory. However the value of price in the item model will be unique for each store that links to it. e.g. I might have an instance of the item model called bike that all stores will have access to. For all the stores the upc (barcode) will be the same, but the price will be different for each store. Is there any way to implement that relationship using this class structure?

like image 380
buken Avatar asked Nov 22 '09 20:11

buken


1 Answers

Use an explicit through table. See the documentation.

like image 197
Daniel Roseman Avatar answered Oct 10 '22 16:10

Daniel Roseman