如何使用Sites框架将当前站点用作Django表单中的默认站点?

如何使用Sites框架将当前站点用作Django表单中的默认站点?,django,django-sites,Django,Django Sites,我正在使用Sites框架,希望将当前站点保存为我的一个模型的默认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) ...othe

我正在使用Sites框架,希望将当前站点保存为我的一个模型的默认
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
对象保存为
Site
属性?或者我需要通过覆盖表单或模型的
save
方法(或类似覆盖)手动执行此操作吗?

您可以设置默认站点

型号.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\u ID
时,这才有效。您的意思是什么不起作用?