如何使用站点框架将当前站点用作 Django 表单中的默认站点?
How can I use the current Site as the default in a Django form using the 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...
有没有办法在我保存 MyModel
实例时自动将当前 Site
对象保存为 MyModel
的 site
属性?或者我是否需要通过覆盖表单或模型的 save
方法(或类似的覆盖)来手动执行此操作?
您可以设置默认站点。
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)
仅当您在数据库中创建了一个站点并且还在 settings.py
中设置了 SITE_ID
时,这才有效
我正在使用站点框架并希望将当前站点保存为我的一个模型的默认 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...
有没有办法在我保存 MyModel
实例时自动将当前 Site
对象保存为 MyModel
的 site
属性?或者我是否需要通过覆盖表单或模型的 save
方法(或类似的覆盖)来手动执行此操作?
您可以设置默认站点。
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)
仅当您在数据库中创建了一个站点并且还在 settings.py
SITE_ID
时,这才有效