Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django 2 models.py中的关系_Python_Django_Django Models - Fatal编程技术网

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')