【发布时间】:2020-10-27 13:38:44
【问题描述】:
我有一个模型类KeyWord
class KeyWord(models.Model):
keyword = models.CharField(verbose_name="Topic",max_length=50)
link = models.URLField(verbose_name = "Next Best Action", max_length=500,null=True)
def __str__(self):
return self.keyword
如果我创建这样的对象:
KeyWord.objects.create(keyword="hello",link="world")
理想情况下会引发错误,因为我将普通文本分配给 link 字段,该字段是 URLField 但对象创建成功?
我应该使用哪个字段或者我应该怎么做才能保存具有有效链接的对象?
【问题讨论】:
-
为什么它不是一个有效的 URL?这将解析为相对于当前文档位置的 url “world”。因此,如果文档位置是 hello.com,那么 URL 世界将是 hello.com/world。没有办法强制 vanilla Django URLField 要求完全限定的 URL。
-
实际上我是通过从 excel 文件中读取数据来保存对象的。如果我没有得到有效的链接,我想提出一个错误。例如,如果在任何特定行如果获取
keyword="macbook"和link="https://apple.com",我将保存该对象,否则如果获取keyword="macbook"和link="apple",则将传递错误消息apple is not a valid url并且函数将返回。 -
我希望我现在把我的问题说清楚了,你可以指导我。
标签: django django-models