【问题标题】:how to make django module fully independent?如何使 django 模块完全独立?
【发布时间】:2015-08-31 03:36:46
【问题描述】:

看看我的模型类

from django.db import models
from meeting.models import Meeting

# Create your models here.


class Agenda(models.Model):
    name = models.CharField(max_length=255)
    meeting = models.ForeignKey(Meeting, on_delete=models.PROTECT)
    priority = models.IntegerField()

这里的议程,类需要会议类作为外键。如果导入会议类失败,是否可以做一些议程类可以工作的事情。如果没有找到会议类,它将创建一个默认的会议对象。

【问题讨论】:

  • 不清楚你在问什么,因为这种检查只能真正发生一次(在同步数据库或迁移上)。这个应用程序将如何管理?如果用户决定添加meeting 模块,您可以处理迁移吗?

标签: python django model


【解决方案1】:

您可以有条件地执行此操作,但需要注意的是它可能会在服务器重新启动之间中断并且可能会中断。

from django.db import models
try:
    from meeting.models import Meeting
    has_meetings = True
except:
    has_meetings = False

# Create your models here.


class Agenda(models.Model):
    name = models.CharField(max_length=255)
    if has_meetings:
        meeting = models.ForeignKey(Meeting, on_delete=models.PROTECT)
    priority = models.IntegerField()

【讨论】:

    猜你喜欢
    • 2013-10-06
    • 2017-08-19
    • 2012-06-28
    • 2013-05-29
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多