Python django 2 models.py中的关系
我想通过Python django 2 models.py中的关系,python,django,django-models,Python,Django,Django Models,我想通过models.py中的brook定义Book和Member之间的关系 但我不知道如何定义借用关系。 在借阅表中,必须确定哪些书籍是由谁借来的,哪些书籍是在哪个日期归还的。我应该为这个日期字段使用另一个表吗 models.py 我认为在成员类中,我应该有一个包含借用id的字段,但是如何使用?在我看来,您需要通过模型使用多个关系(这样您可以为借用模型的每一行存储额外信息) 也许这个链接()可以更清楚地说明这一点。在我看来,您需要通过模型使用与的多个关系(这样,您可以为借用模型的每一行存储额
models.py中的brook
定义Book
和Member
之间的关系
但我不知道如何定义借用关系。
在借阅
表中,必须确定哪些书籍是由谁借来的,哪些书籍是在哪个日期归还的。我应该为这个日期字段使用另一个表吗
models.py
我认为在成员
类中,我应该有一个包含借用id
的字段,但是如何使用?在我看来,您需要通过模型使用多个
关系(这样您可以为借用
模型的每一行存储额外信息)
也许这个链接()可以更清楚地说明这一点。在我看来,您需要通过模型使用与的多个关系(这样,您可以为借用模型的每一行存储额外信息)
可能是这个链接()可以进一步澄清。你是想让借阅
表有一个书籍数组
还是想为每本借阅的书籍创建一个借阅
记录?@Rigo:要让借阅表有一个书籍数组,我认为@user3080294的解决方案比拥有一个书籍数组更好。你想这样做吗使借阅
表有一个书籍数组
,或者您正在尝试为每本借阅的书籍创建一个借阅
记录?@Rigo:要使借阅表有一个书籍数组,我认为@user3080294的解决方案比拥有书籍数组更好。
from django.contrib.auth.models import AbstractUser
from django.db import models
from django.utils.translation import gettext as _
class CategoryType(models.Model):
category_name = models.CharField(max_length=200)
def __str__(self):
return self.category_name
class Book(models.Model):
name = models.CharField(verbose_name="عنوان", max_length=128)
number_of_copy = models.IntegerField(default=0)
writer = models.CharField(max_length=64)
B_category = models.ForeignKey(CategoryType, on_delete=models.CASCADE)
class Meta:
ordering = ["B_category"]
def __str__(self):
return self.name
class Borrow(models.Model):
borrowed_from_date = models.DateField(_("borrow Date"), default=0)
borrowed_to_date = models.DateField(_("return Date"), default=3)
actual_return_date = models.DateField()
borrowed_by = models.ForeignKey(member, on_delete=models.CASCADE)
books = models.ManyToManyField(Book)
def __str__(self):
return self.id
class Member(AbstractUser):
pass
...
class Borrow(models.Model):
borrowed_from_date = models.DateField(_("borrow Date"), default=0)
borrowed_to_date = models.DateField(_("return Date"), default=3)
actual_return_date = models.DateField()
borrowed_by = models.ForeignKey(Member, on_delete=models.CASCADE)
book = models.ForeignKey(Book)
def __str__(self):
return self.id
...
class Member(AbstractUser):
borrowed_books = models.ManyToManyField(Book, through='Borrow')