2016-03-10 211 views
1

在我models.py「NoneType」對象有沒有屬性「分裂」

class Post(models.Model): 
    url = models.URLField(max_length=250, blank=True, null=True) 

    @property 
    def domain(self): 
     long_url = urlparse(self.url).netloc if self.url else "hello" 
     return long_url.split('.', 1)[1] if long_url.split('.', 1)[0] == 'www' else long_url 

,但我已經決定了,所以我改變爲無刪除「你好」。

現在我得到的錯誤:

'NoneType' object has no attribute 'split'

任何幫助,請...

+0

'None'內部存儲long_url –

+0

'long_url'是'None' – danidee

+0

@danidee肯定的,但如何,如果它不self.url – winixxee

回答

1

long_url可以爲空,因爲你的模型接受它是如此。在分割之前添加一個空檢查。

return long_url.split('.', 1)[1] if (long_url and long_url.split('.', 1)[0] == 'www') else long_url 

應該工作。

+0

那麼我該如何解決這個問題?我可以看到,如果我使用None,long_url可以爲null,但是沒有辦法使它成爲無? – winixxee

+0

如果long_url爲「無」,我的代碼將返回None。我相信那就是你想要的? – sudshekhar

+0

使用此代碼我得到(無),我不希望顯示任何內容,如果它不是self.url – winixxee

相關問題