0
我有一個[(3,2),(2,3)]
形式的外鍵元組列表。我想在模型中插入的項目到多對多表:檢查ForeignKeys是否相等
class Place(models.Model):
data=models.IntegerField()
connected_to=models.ManyToManyField('self')
class PlaceMeta(models.Model):
place=models.ForeignKey("places.Place")
,我插入列表(連接)有:
places=Place.objects.all()
for conn_1, conn_2 in connections:
for place in places:
if place.data == conn_1 and conn_1 != conn_2:
place.connected_to.add(conn_1, conn_2)
elif place.data == conn_2 and conn_1 != conn_2:
fixture.connected_to.add(conn_2, conn_1)
當我打印打印[(3L, 2L),(2L, 3L)]
的列表(例如),但插入表後顯示(2,2),(3,2),(2,3)和(3,3)已被插入。
我試過在代碼中的多個點檢查是否存在一個元組(a,a),並且在插入它之前打印時顯示沒有這樣的元組。那麼,我該如何避免插入這樣的元組,因爲它們在我插入之前甚至不會出現在列表中?
添加周圍conn_1括號,conn_2 – zsong 2011-06-06 01:59:39
在哪裏?在for語句中?所以它在連接中用於(conn_1,conn_2):' – 2011-06-06 04:43:02