首页 > 解决方案 > Django中的ListField - Python

问题描述

我想将多个 CharField 值存储在模型列表中。有什么办法吗?我期待类似的东西

class Author(models.Model):
    name = models.CharField(max_length=255)
    birth = models.CharField(max_length=255)
    image = models.CharField(max_length=2083)
    cover_image = models.CharField(max_length=2083)
    quote = models.CharField(max_length=2083)
    bio = models.CharField(max_length=2083)
    books = models.ListField(
        book_name = CharField(max_length=255)
    )

显然 Django 没有提供任何类似的东西。

标签: djangodjango-models

解决方案


您可能想查看外国字段并定义Book如下模型

class Author(models.Model):
    name = models.CharField(max_length=255)
    birth = models.CharField(max_length=255)
    image = models.CharField(max_length=2083)
    cover_image = models.CharField(max_length=2083)
    quote = models.CharField(max_length=2083)
    bio = models.CharField(max_length=2083)


class Book(models.Model):
    name = models.CharField(max_length=255)
    author = models.ForeignKey('Author', on_delete=models.CASCADE)

推荐阅读