Django orm。嵌套表

时间:2018-01-12 03:32:15

标签: django nested

我需要创建这样的表:

活动表

id  Event       
 1  event A ->
                Time     Param 1   Param 2  ..
                 44        12.5      145
                 45        14.5      148
                 46        13.5      138
 2  event B ->
                Time     Param 1   Param 2 ..
                 44        12.5      145
                 45        14.5      148
                 46        13.5      138
 3  event C - > 
                And so on...
 ..

如何使用Django ORM执行此操作? (使用SQLite)

1 个答案:

答案 0 :(得分:0)

你是说如何制作这样的django模型?

此处的示例型号代码。

    from django.db import models


    class Event(models.Model):
            time = models.PositiveIntegerField()
            param_1 = models.FloatField()
            param_2 = models.PositiveIntegerField()

之后,你应该移民和移民迁移

$python manage.py makemigrations
$python manage.py migrate

**更新

你的意思是你要制作两个模型 - EventEventTime,对吧?

这是新的两个模型。

class Event(models.Model):
    name = models.CharField(
        # have to set max_length you want
        max_length=255,
    )

class EventTime(models.Model):
    event = models.ForeignKey(
        Event,
        # in django==2.0, you should write on_delete option
        on_delete=CASCADE,
    )
    time = models.PositiveIntegerField()
    param_1 = models.FloatField()
    param_2 = models.PositiveIntegerField()

不要担心Event型号的ID。 django ORM自动创建id。

如果您想了解有关ForeignKeyon_delete选项的更多信息,请查看here(django官方文档)