0
我在models.py(只是一個子集)Django的模型參考和數據更新/插入
class arctic_seasons(models.Model):
season_id = models.AutoField(primary_key=True)
season_name = models.CharField(max_length=20)
description = models.CharField(max_length=20)
def __unicode__(self):
return self.season_name
class antarctic_seasons(models.Model):
season_id = models.AutoField(primary_key=True)
season_name = models.CharField(max_length=20)
description = models.CharField(max_length=20)
def __unicode__(self):
return self.season_name
通告所界定某些型號,這些表之間的唯一差別是前綴arctic_或antarctic_
我定義將基本解碼一些GeoJSON的數據,並將其插入到基於模型的數據庫的視圖。
以GeoJSON有一個字符串參數「季節」將識別模型(表)中的數據應當被插入。
例如說,我們結束了這些變量(從GeoJSON的拉動POST收集)
season = data['properties']['season']
location = data['properties']['location']
如果季節=「2011_Greenland_P3」和位置=「極寒」認爲應該插入一個新的季節與SEASON_NAME arctic_seasons = '2011_Greenland_P3'
本質上講,它應該做的」
s = arctic_seasons(name=season);
s.save()
我的問題是,我該如何編寫一個可以處理可變位置前綴的代碼。如果位置是「南極洲」,則聲明將變爲:
s = antarctic_seasons(name=season);
s.save()
但是,我顯然不希望重複所有這些代碼。我怎樣才能做到這一點?
謝謝,我想這應該工作了。它在我的系統設計中需要一點邏輯改變,但我認爲它會更好。幾個簡單的問題。 1.什麼是ChoiceField存儲在數據庫中? 2.你可以根據位置進行查詢。說「選擇*從季節哪裏位置='北極';」 –
你可以做一些不同的事情。虐待更新模型 - 是的,你可以按照你提到的方式來查詢它。此外,現在它是一個簡單的charfield – karthikr