Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
itminedu
synnefo
Commits
8abcb636
Commit
8abcb636
authored
Jul 02, 2013
by
Christos Stavrakakis
Browse files
cyclades: Add migration file
Add migration file for floating IPs and VM task state.
parent
6a266299
Changes
1
Hide whitespace changes
Inline
Side-by-side
snf-cyclades-app/synnefo/db/migrations/0069_auto__add_floatingip__add_field_virtualmachine_task__add_field_virtual.py
0 → 100644
View file @
8abcb636
# encoding: utf-8
import
datetime
from
south.db
import
db
from
south.v2
import
SchemaMigration
from
django.db
import
models
class
Migration
(
SchemaMigration
):
def
forwards
(
self
,
orm
):
# Adding model 'FloatingIP'
db
.
create_table
(
'db_floatingip'
,
(
(
'id'
,
self
.
gf
(
'django.db.models.fields.AutoField'
)(
primary_key
=
True
)),
(
'userid'
,
self
.
gf
(
'django.db.models.fields.CharField'
)(
max_length
=
128
,
db_index
=
True
)),
(
'ipv4'
,
self
.
gf
(
'django.db.models.fields.IPAddressField'
)(
unique
=
True
,
max_length
=
15
,
db_index
=
True
)),
(
'network'
,
self
.
gf
(
'django.db.models.fields.related.ForeignKey'
)(
related_name
=
'floating_ips'
,
to
=
orm
[
'db.Network'
])),
(
'machine'
,
self
.
gf
(
'django.db.models.fields.related.ForeignKey'
)(
related_name
=
'floating_ips'
,
null
=
True
,
to
=
orm
[
'db.VirtualMachine'
])),
(
'created'
,
self
.
gf
(
'django.db.models.fields.DateTimeField'
)(
auto_now_add
=
True
,
blank
=
True
)),
(
'deleted'
,
self
.
gf
(
'django.db.models.fields.BooleanField'
)(
default
=
False
)),
(
'serial'
,
self
.
gf
(
'django.db.models.fields.related.ForeignKey'
)(
related_name
=
'floating_ips'
,
null
=
True
,
to
=
orm
[
'db.QuotaHolderSerial'
])),
))
db
.
send_create_signal
(
'db'
,
[
'FloatingIP'
])
# Adding field 'VirtualMachine.task'
db
.
add_column
(
'db_virtualmachine'
,
'task'
,
self
.
gf
(
'django.db.models.fields.CharField'
)(
max_length
=
64
,
null
=
True
),
keep_default
=
False
)
# Adding field 'VirtualMachine.task_job_id'
db
.
add_column
(
'db_virtualmachine'
,
'task_job_id'
,
self
.
gf
(
'django.db.models.fields.BigIntegerField'
)(
max_length
=
64
,
null
=
True
),
keep_default
=
False
)
# Changing field 'VirtualMachine.operstate'
db
.
alter_column
(
'db_virtualmachine'
,
'operstate'
,
self
.
gf
(
'django.db.models.fields.CharField'
)(
max_length
=
30
))
# Adding field 'Network.floating_ip_pool'
db
.
add_column
(
'db_network'
,
'floating_ip_pool'
,
self
.
gf
(
'django.db.models.fields.BooleanField'
)(
default
=
False
),
keep_default
=
False
)
def
backwards
(
self
,
orm
):
# Deleting model 'FloatingIP'
db
.
delete_table
(
'db_floatingip'
)
# Deleting field 'VirtualMachine.task'
db
.
delete_column
(
'db_virtualmachine'
,
'task'
)
# Deleting field 'VirtualMachine.task_job_id'
db
.
delete_column
(
'db_virtualmachine'
,
'task_job_id'
)
# Changing field 'VirtualMachine.operstate'
db
.
alter_column
(
'db_virtualmachine'
,
'operstate'
,
self
.
gf
(
'django.db.models.fields.CharField'
)(
max_length
=
30
,
null
=
True
))
# Deleting field 'Network.floating_ip_pool'
db
.
delete_column
(
'db_network'
,
'floating_ip_pool'
)
models
=
{
'db.backend'
:
{
'Meta'
:
{
'ordering'
:
"['clustername']"
,
'object_name'
:
'Backend'
},
'clustername'
:
(
'django.db.models.fields.CharField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'128'
}),
'ctotal'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'0'
}),
'dfree'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'0'
}),
'drained'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'dtotal'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'0'
}),
'hash'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'40'
}),
'hypervisor'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'kvm'"
,
'max_length'
:
'32'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'index'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'0'
,
'unique'
:
'True'
}),
'mfree'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'0'
}),
'mtotal'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'0'
}),
'offline'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'password_hash'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'128'
,
'null'
:
'True'
,
'blank'
:
'True'
}),
'pinst_cnt'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'0'
}),
'port'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'default'
:
'5080'
}),
'updated'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'username'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'64'
,
'null'
:
'True'
,
'blank'
:
'True'
})
},
'db.backendnetwork'
:
{
'Meta'
:
{
'unique_together'
:
"(('network', 'backend'),)"
,
'object_name'
:
'BackendNetwork'
},
'backend'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'networks'"
,
'to'
:
"orm['db.Backend']"
}),
'backendjobid'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'null'
:
'True'
}),
'backendjobstatus'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'null'
:
'True'
}),
'backendlogmsg'
:
(
'django.db.models.fields.TextField'
,
[],
{
'null'
:
'True'
}),
'backendopcode'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'null'
:
'True'
}),
'backendtime'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'default'
:
'datetime.datetime(1, 1, 1, 0, 0)'
}),
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'deleted'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'mac_prefix'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
}),
'network'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'backend_networks'"
,
'to'
:
"orm['db.Network']"
}),
'operstate'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'PENDING'"
,
'max_length'
:
'30'
}),
'updated'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now'
:
'True'
,
'blank'
:
'True'
})
},
'db.bridgepooltable'
:
{
'Meta'
:
{
'object_name'
:
'BridgePoolTable'
},
'available_map'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
}),
'base'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'offset'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'null'
:
'True'
}),
'reserved_map'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
}),
'size'
:
(
'django.db.models.fields.IntegerField'
,
[],
{})
},
'db.flavor'
:
{
'Meta'
:
{
'unique_together'
:
"(('cpu', 'ram', 'disk', 'disk_template'),)"
,
'object_name'
:
'Flavor'
},
'cpu'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
}),
'deleted'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'disk'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
}),
'disk_template'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'ram'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
})
},
'db.floatingip'
:
{
'Meta'
:
{
'object_name'
:
'FloatingIP'
},
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'deleted'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'ipv4'
:
(
'django.db.models.fields.IPAddressField'
,
[],
{
'unique'
:
'True'
,
'max_length'
:
'15'
,
'db_index'
:
'True'
}),
'machine'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'floating_ips'"
,
'null'
:
'True'
,
'to'
:
"orm['db.VirtualMachine']"
}),
'network'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'floating_ips'"
,
'to'
:
"orm['db.Network']"
}),
'serial'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'floating_ips'"
,
'null'
:
'True'
,
'to'
:
"orm['db.QuotaHolderSerial']"
}),
'userid'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'128'
,
'db_index'
:
'True'
})
},
'db.ippooltable'
:
{
'Meta'
:
{
'object_name'
:
'IPPoolTable'
},
'available_map'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
}),
'base'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'offset'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'null'
:
'True'
}),
'reserved_map'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
}),
'size'
:
(
'django.db.models.fields.IntegerField'
,
[],
{})
},
'db.macprefixpooltable'
:
{
'Meta'
:
{
'object_name'
:
'MacPrefixPoolTable'
},
'available_map'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
}),
'base'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'offset'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'null'
:
'True'
}),
'reserved_map'
:
(
'django.db.models.fields.TextField'
,
[],
{
'default'
:
"''"
}),
'size'
:
(
'django.db.models.fields.IntegerField'
,
[],
{})
},
'db.network'
:
{
'Meta'
:
{
'object_name'
:
'Network'
},
'action'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
'None'
,
'max_length'
:
'32'
,
'null'
:
'True'
}),
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'deleted'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'db_index'
:
'True'
}),
'dhcp'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
}),
'drained'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'flavor'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
}),
'floating_ip_pool'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'gateway'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
}),
'gateway6'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'64'
,
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'link'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'null'
:
'True'
}),
'mac_prefix'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
}),
'machines'
:
(
'django.db.models.fields.related.ManyToManyField'
,
[],
{
'to'
:
"orm['db.VirtualMachine']"
,
'through'
:
"orm['db.NetworkInterface']"
,
'symmetrical'
:
'False'
}),
'mode'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'16'
,
'null'
:
'True'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'128'
}),
'pool'
:
(
'django.db.models.fields.related.OneToOneField'
,
[],
{
'related_name'
:
"'network'"
,
'unique'
:
'True'
,
'null'
:
'True'
,
'to'
:
"orm['db.IPPoolTable']"
}),
'public'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'db_index'
:
'True'
}),
'serial'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'network'"
,
'null'
:
'True'
,
'to'
:
"orm['db.QuotaHolderSerial']"
}),
'state'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'PENDING'"
,
'max_length'
:
'32'
}),
'subnet'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'10.0.0.0/24'"
,
'max_length'
:
'32'
}),
'subnet6'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'64'
,
'null'
:
'True'
}),
'tags'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'128'
,
'null'
:
'True'
}),
'updated'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now'
:
'True'
,
'blank'
:
'True'
}),
'userid'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'128'
,
'null'
:
'True'
,
'db_index'
:
'True'
})
},
'db.networkinterface'
:
{
'Meta'
:
{
'object_name'
:
'NetworkInterface'
},
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'dirty'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'firewall_profile'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'index'
:
(
'django.db.models.fields.IntegerField'
,
[],
{}),
'ipv4'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'15'
,
'null'
:
'True'
}),
'ipv6'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
,
'null'
:
'True'
}),
'mac'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'32'
,
'unique'
:
'True'
,
'null'
:
'True'
}),
'machine'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'nics'"
,
'to'
:
"orm['db.VirtualMachine']"
}),
'network'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'nics'"
,
'to'
:
"orm['db.Network']"
}),
'state'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'ACTIVE'"
,
'max_length'
:
'32'
}),
'updated'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now'
:
'True'
,
'blank'
:
'True'
})
},
'db.quotaholderserial'
:
{
'Meta'
:
{
'ordering'
:
"['serial']"
,
'object_name'
:
'QuotaHolderSerial'
},
'accept'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'pending'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'True'
,
'db_index'
:
'True'
}),
'resolved'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'serial'
:
(
'django.db.models.fields.BigIntegerField'
,
[],
{
'primary_key'
:
'True'
,
'db_index'
:
'True'
})
},
'db.virtualmachine'
:
{
'Meta'
:
{
'object_name'
:
'VirtualMachine'
},
'action'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
'None'
,
'max_length'
:
'30'
,
'null'
:
'True'
}),
'backend'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'virtual_machines'"
,
'null'
:
'True'
,
'to'
:
"orm['db.Backend']"
}),
'backend_hash'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'128'
,
'null'
:
'True'
}),
'backendjobid'
:
(
'django.db.models.fields.PositiveIntegerField'
,
[],
{
'null'
:
'True'
}),
'backendjobstatus'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'null'
:
'True'
}),
'backendlogmsg'
:
(
'django.db.models.fields.TextField'
,
[],
{
'null'
:
'True'
}),
'backendopcode'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'30'
,
'null'
:
'True'
}),
'backendtime'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'default'
:
'datetime.datetime(1, 1, 1, 0, 0)'
}),
'buildpercentage'
:
(
'django.db.models.fields.IntegerField'
,
[],
{
'default'
:
'0'
}),
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'deleted'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
,
'db_index'
:
'True'
}),
'flavor'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'to'
:
"orm['db.Flavor']"
}),
'hostid'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'imageid'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
}),
'name'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'operstate'
:
(
'django.db.models.fields.CharField'
,
[],
{
'default'
:
"'BUILD'"
,
'max_length'
:
'30'
}),
'serial'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'virtual_machine'"
,
'null'
:
'True'
,
'to'
:
"orm['db.QuotaHolderSerial']"
}),
'suspended'
:
(
'django.db.models.fields.BooleanField'
,
[],
{
'default'
:
'False'
}),
'task'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'64'
,
'null'
:
'True'
}),
'task_job_id'
:
(
'django.db.models.fields.BigIntegerField'
,
[],
{
'max_length'
:
'64'
,
'null'
:
'True'
}),
'updated'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now'
:
'True'
,
'blank'
:
'True'
}),
'userid'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
,
'db_index'
:
'True'
})
},
'db.virtualmachinediagnostic'
:
{
'Meta'
:
{
'ordering'
:
"['-created']"
,
'object_name'
:
'VirtualMachineDiagnostic'
},
'created'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'auto_now_add'
:
'True'
,
'blank'
:
'True'
}),
'details'
:
(
'django.db.models.fields.TextField'
,
[],
{
'null'
:
'True'
}),
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'level'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'20'
}),
'machine'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'diagnostics'"
,
'to'
:
"orm['db.VirtualMachine']"
}),
'message'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'255'
}),
'source'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'100'
}),
'source_date'
:
(
'django.db.models.fields.DateTimeField'
,
[],
{
'null'
:
'True'
})
},
'db.virtualmachinemetadata'
:
{
'Meta'
:
{
'unique_together'
:
"(('meta_key', 'vm'),)"
,
'object_name'
:
'VirtualMachineMetadata'
},
'id'
:
(
'django.db.models.fields.AutoField'
,
[],
{
'primary_key'
:
'True'
}),
'meta_key'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'50'
}),
'meta_value'
:
(
'django.db.models.fields.CharField'
,
[],
{
'max_length'
:
'500'
}),
'vm'
:
(
'django.db.models.fields.related.ForeignKey'
,
[],
{
'related_name'
:
"'metadata'"
,
'to'
:
"orm['db.VirtualMachine']"
})
}
}
complete_apps
=
[
'db'
]
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment