我有一组MAC地址。如何将它们存储在Django 1.7模型中?我的代码是:
MAC=models.CharField(max_length = 20,null=True,blank=True)
我必须为单个用户存储不同的MAC地址
答案 0 :(得分:2)
这取决于您的使用情况。我猜你想要为其他模型分配可变数量的MAC地址,每个MAC地址只能使用一次。
class Parent(models.Model):
pass
class MacAddress(models.Model):
parent = models.ForeignKey(Parent, related_name='mac_addresses')
address = models.CharField(max_length = 20,null=True,blank=True, unique=True)
因此,对于数组中的每个地址,您都要创建MacAddress
的新实例
答案 1 :(得分:0)
最好的方法是使用ManyToMany字段。
我的models.py
class MacAddress(models.Model):
address = models.CharField(max_length = 20,null=True,blank=True)
def __unicode__(self):
return self.address
class UserProfile(models.Model):
user = models.OneToOneField(User,primary_key=True,db_index=True)
MAC=models.ManyToManyField(MacAddress)
def __unicode__(self):
return self.user.username
views.py
mac = get_mac()
mac = (hex(mac))
MacAdd=MacAddress()
MacAdd.address=mac
MacAdd.save()
profile.save()
profile.MAC.add(MacAdd)
profile.save()