Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 维护保存后通过信号填充的模型之间的关系_Python_Django_Django Models_Django Signals - Fatal编程技术网

Python 维护保存后通过信号填充的模型之间的关系

Python 维护保存后通过信号填充的模型之间的关系,python,django,django-models,django-signals,Python,Django,Django Models,Django Signals,看看答案,看看我是如何解决的,我的问题是什么:) 我有一个名为stars的基本模型,它包含了与其他模型的大多数关系,其他一些模型通过信号执行某些脚本,这些脚本将向数据库输入有关基本模型的更多信息。我的问题是,当运行信号时,我不知道如何维护与已经是基本模型的一对一字段的模型的关系。如果我试图将用于信号的空模型作为其实例的外键,则会产生错误,因为其实例已通过其自身的外键连接到stars。我将在这里发布我的部分代码,首先是我的模型部分,然后是我的信号部分: 来自django.db导入模型的 #在这里

看看答案,看看我是如何解决的,我的问题是什么:)

我有一个名为stars的基本模型,它包含了与其他模型的大多数关系,其他一些模型通过信号执行某些脚本,这些脚本将向数据库输入有关基本模型的更多信息。我的问题是,当运行信号时,我不知道如何维护与已经是基本模型的一对一字段的模型的关系。如果我试图将用于信号的空模型作为其实例的外键,则会产生错误,因为其实例已通过其自身的外键连接到stars。我将在这里发布我的部分代码,首先是我的模型部分,然后是我的信号部分:

来自django.db导入模型的

#在这里创建您的模型。
''使用星号名称定义表及其在卡中找到的关系''
星级(型号.型号):
name=models.CharField(max_length=100,unique=True,verbose_name=“Star name”)
定义(自我):
返回self.name
RA类(型号.型号):
name=models.OneToOneField(星形,默认值=1,to_field=“name”)
Ra=models.CharField(最大长度=10,帮助文本=(“例如,如果Ra为1小时44分38秒,则以这种方式输入Ra:014438”),verbose_name=“Ra”,unique=True)
定义(自我):
返回自我
DEC类(型号.型号):
name=models.OneToOneField(星形,默认值=1,to_field=“name”)
Dec=models.CharField(max_length=10,help_text=((例如,如果Dec为+3度,48.6弧分,则以这种方式输入Dec:+0348.6对于一位数输入,不要忘记0),verbose_name=“Dec”,unique=True)
定义(自我):
回归自我,12月
类RAnew(models.Model):
ra_new=models.CharField(最大长度=10)
类元:
详细名称=“新RA”
定义(自我):
return self.ra_new
新类(models.Model):
dec_new=models.CharField(最大长度=10)
类元:
详细名称=“新12月”
定义(自我):
return self.dec_new
from.signals import执行和保存查询、清除URL、分离ra、分离dec

#这将连接astroquery和其他信号并运行它们是的
我忘记了为其他信号保存对象的格式“model.objects.get(field=x)”,这就是我出错的原因。我认为这与模型是星星外键的事实有关,但这只是一个语法错误

除此之外,我最近了解到了模型的regex验证器,这消除了我需要一个信号来验证条目的编写方式,因为regex验证器可以直接处理这种类型的需求。我强烈推荐它