下面是我的Django模型代码
from django.db import models
class BookUser(models.Model):
email= models.CharField(max_length=254,primary_key=True) #mail address key
name = models.CharField(max_length=254) #max 64 char (lower case?)
contact= models.CharField(max_length=12)
imei = models.CharField(max_length=16) #imei number
address= models.TextField() #list of address ids
booksInShelf:[] #list of user book's unique ids
booksUnderCirculation:[] #list of user book's unique ids
class Meta:
ordering = ('email',)
class Book(models.Model):
isbn = models.CharField(max_length=13)
title=models.CharField(max_length=500)
description =models.TextField()
author = models.CharField(max_length=200)
userRating = models.CharField(max_length=1)
users = #list of user ids hold this book in shelf
class UserBook(models.Model):
#id: generated by django
bookId: #id of parent book
rent= models.BooleanField(default=False) #boolean is ready to rent
sell= models.BooleanField(default=False) #boolean is ready to sell
price =models.FloatField() #selling price
rentBase=models.FloatField() #base price of rent
rentPeriod=models.IntegerField() #days after which extra rent would apply
dateModified =models.DateTimeField(auto_now=True) #track date it came into shelf
dateAdded = models.DateTimeField(auto_now_add=True)
这里的booksuser是指实际拥有图书的用户,即书架和未流通的图书
类书是所有书籍的中心存储库,我需要定义一个一对多的关系图书管理员。什么这样做容易吗?在
User Book是BookUser特有的,它应该唯一地指向类Book,所以它与Book类是多对一的关系。在
我对如何处理UserBook和Book的id感到困惑? 另外,如何在类BookUser中存储UserBooks的id列表??在
在查看了
Book
模型下面提供的模型和解释之后,users字段应该与BookUser
模型有ForeignKey
关系。在所以图书模型应该是
如果您使用的是Postgresql,并且您只需要},那么您的BookUser模型应该如下所示
^{pr2}$pk
列表booksInShelf
和{如果你想知道}的全部信息(不仅是
booksInShelf
和{pk
,还有与本书相关的其他信息),那么你需要将其定义为ManyToMany
关系。在另外,不必在BookUser模型中创建两个多个字段,您可以在UserBook模型中使用两个标志,分别名为}。这些字段将是BooleanField,您可以在Django文档中查看更多关于模型字段的信息:https://docs.djangoproject.com/en/1.10/topics/db/models/#fields
is_in_shelf
和{这应该是您想要的:
在这里,
UserBook
引用了Book
项,几个用户可以拥有同一本书,但它仍然是表book中唯一的引用。在希望有帮助
相关问题 更多 >
编程相关推荐