首页 > 解决方案 > 如何使用这个 django 模型创建表单?

问题描述

我正在尝试使用此模型创建表单。我想使用表单在这个数据库模型中添加数据来执行 CRUD 操作。我正在使用 MySQL 数据库。

模型.py

from django.db import models
from .managers import CategoryManager, SubCategoryManager


# this is my parent model 
class Node(models.Model):
    name = models.CharField(max_length=150)
    parent = models.ForeignKey(
        'self',
        on_delete=models.CASCADE,
        related_name='children',
        null=True,
        blank=True

    )

    def __str__(self):
        return self.name

    class Meta:
        ordering = ('name',)
        verbose_name_plural = 'Nodes'


class Category(Node):
    object = CategoryManager()

    class Meta:
        proxy = True
        verbose_name_plural = 'Categories'


class SubCategory(Node):
    object = SubCategoryManager()

    class Meta:
        proxy = True
        verbose_name_plural = 'SubCategories'


class Product(models.Model):
    sub_category = models.ForeignKey(
        SubCategory, on_delete=models.CASCADE
    )
    name = models.CharField(max_length=100)
    description = models.TextField(blank=True)

    def __str__(self):
        return self.name

标签: pythondjangodjango-formsweb-deployment

解决方案


试试Imagine 智能编译器,它允许通过非常简单的配置为您的 CRUD API 和 Django 模型自动生成代码 + 测试。除此之外,它以正确的方式生成代码来处理 Django 视图中的外键关系。你也可以在这里尝试一个演示imagine.ai/demo

PS:像这样简单的配置将生成 CRUD API 的所有代码以及测试!

Model Node {
    id integer [primary-key]
    name string [max-length 150]
}

Model Product {
    id integer [primary-key]
    name string [max-length 100]
    description string [nullable]
}

推荐阅读