我正在使用Sites Framework,并希望将当前网站保存为我的某个模型的默认site
值。
型号:
class MyModel(models.Model):
site = models.ForeignKey(
Site,
on_delete=models.CASCADE,
default=Site.objects.get_current()) # THIS IS WHAT I WANT TO DO (DOESN'T WORK)
...other fields...
有没有办法在保存Site
实例的任何时候自动将当前site
对象保存为MyModel
MyModel
属性?或者我是否需要通过覆盖表单或模型的save
方法(或类似的覆盖)来手动执行此操作?
答案 0 :(得分:1)
您可以设置默认网站。
<强> models.py 强>
def get_current_site():
return Site.objects.get_current().id
class MyModel(models.Model):
site = models.ForeignKey(
Site,
on_delete=models.CASCADE,
default=get_current_site)
仅当您在数据库中创建了网站并在SITE_ID
settings.py
时,此功能才有效